The Pirate CInema - Online version [AND festival 2014]





________________________________________________________________________________________________________
METHOD - TODO:
________________________________________________________________________________________________________















________________________________________________________________________________________________________
TECHNICAL NEEDS
________________________________________________________________________________________________________

- Server host ?
- Video streaming host ?

- 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