The Pirate CInema - Online version [AND festival 2014] ________________________________________________________________________________________________________ METHOD - TODO: ________________________________________________________________________________________________________ ________________________________________________________________________________________________________ TECHNICAL NEEDS ________________________________________________________________________________________________________ - Server host ? *- PirateByran (magnuse@tii.se) *- La Quadrature du net (JB Bayle: bruceleeperry@startmail.com) *- Kopimi ( *- CCC ( * - Video streaming host ? *- Creacast ( gilles.misslin@creacast.com via Antoine Schmitt / Ososphère ) - Dedicated Machine ? - Encoding / Transcoding / Titles Machine ? ________________________________________________________________________________________________________ RETROPLANNING ________________________________________________________________________________________________________ JULY: - streaming test with existing recordings - test MLT AUGUST: $$ -> 1st 1/3 wire-transfer to Brendan NICO - check for partner on video streaming develop new glitch script define the server host define the video streaming host get osd working with MLT SEPTEMBER: web interface design and optimisations tests in real situation OCTOBER: $$ -> 2d 1/3 wire-transfer to Brendan last web interface design and optimisations optimize for playback (larger combined files? transcoding? pre-compiled clips?) last tests NOVEMBER: early nov - public launch DECEMBER: $$ -> 3d 1/3 wire-transfer to Brendan ________________________________________________________________________________________________________ TECH TIPS ________________________________________________________________________________________________________ HTML5 VIDEO STREAMING http://phoboslab.org/log/2013/09/html5-live-video-streaming-via-websockets http://en.wikipedia.org/wiki/HTML5_video http://www.willus.com/author/streaming2.shtml ________________________________________________________________________________________________________ Last conversation on Skype : ________________________________________________________________________________________________________ 2- top 100 film: result is streamed a a video + OSD ------- 3- an app: like deluge, that play your own mp4 or mp3 downloads as a stream 3- can also be a dvd image with ubuntu and all the shit necessary ------- ISSUES ON THE ACTUAL VERSION: ------- - I noticed that 1 torrent mng kinda stay limitated at 2 files at once - what if we have multiple instances - I also noticed that many video playback (even small) is slow - but the same compiled in a single file - work as a charm (even a 6Go file) -> I'm wondering if multiple instances of video player - with extrem big files wouldnt be a good option - Since they are all re-muxed and encoded in the same codec. Yes - We have to develop a super reliable reincoding script - that can digest most of the formats - If necessary have an harware dvi device that can do it there is even vesion of it made for streaming :) ------- I would start at the output. get a fake working with live streaming and a pre-recorded video. sort out the infrastructure. then step back to vplayer and get that streaming with 1 file. then re-write vplayer to do in-line osd. then make it with a switcher for 2 or 3 videofiles. then hack the caching / glitching updater scripts. and if we wanted to glitch on the fly in gstreamer - what would it need ? ------- you could ask the gstreamer core devs if they have time. some of them do commercial consulting for this kind of stuff. but they will insist on using gstreamer1.0 and we are still using gst0.10 in theory the upgrade should not be too hard but it may break some of our code. you could also ask Jaromil but he hates gstreamer. ------- THE METHOD I SUGGEST/ ---- ok so at some point we should make a kind of table where we list each step of the video-version hypothesis and we detail what it would require in each step and the issues we are facing ... if their is for each step if the issues are isolates - its great we can try to optimize without stress if some issues are overlapping/related - we have to discuss more of the different option possibles for the step in question - --- does it sound like a proper way to start a todo ? -- the other thing we might try is MLT: http://www.mltframework.org/ we could have a directory where we put bits of files we just received (or proper files if needed) then we run the MELT command *.mp4 on the directory .. - well then if we just have a better glitch script then that uses MLT then we can reduce it to one pass. Test video: https://www.dropbox.com/s/watg89d7b1qg5n3/Pirate_cinema_oct13_CENTER.mov ________________________________________________________________________________________________________ LAST GLITCH SCRIPT (SEATTLE VERSION) ________________________________________________________________________________________________________ #!/bin/bash directory="$1" ls "$directory" | while read name_origine do echo $name_origine #hash=$("$name_origine" | md5sum | cut -b-32) #echo "REPONSE" $hash TMPFILE=`mktemp /tmp/XXXXXX.avi` TMPFILEB=`mktemp /tmp/XXXXXXX.avi` rm $TMPFILE rm $TMPFILEB avconv -i "$1$name_origine" \ -c:v mpeg4 -q 3 -map_metadata -1 -r 25 \ -c:a libvo_aacenc -b:a 320k -ac 2 -s 1280x720 -t 1600 -aspect 16:9 $TMPFILE ruby datamosh.rb $TMPFILE $TMPFILEB avconv -i $TMPFILEB \ -c:v mpeg4 -b:v 2000k -qmin 3 -qmax 31 -crf 8 -r 25 -aspect 16:9 \ -c:a libvo_aacenc \ -b:a 128k -ar 48000 -ac 2 -s 1280x720 "$name_origine ok.mp4" rm $TMPFILE rm $TMPFILEB done