X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=README;h=97e3abf639b642876473e1ff78b8a69f7a6dbd1c;hb=62e6f8bd5eecb9d08338df1a5b18b2862c765646;hp=37056f11dfd351927ec9e9e7ab2894e4a0ac8135;hpb=e23464d4e8fa5f49ba4b1c593ebcb056c8338914;p=HTML5TV.git diff --git a/README b/README index 37056f1..97e3abf 100644 --- a/README +++ b/README @@ -1,5 +1,168 @@ -Web interface based work from BBC R&D TV +HTML5TV -http://open.bbc.co.uk/rad/demos/html5/rdtv/episode2/index.html +This is my attempt to finish my masters degree. I'm just kidding :-) -http://www.bbc.co.uk/blogs/rad/2009/08/html5.html +Actually, in 1997 I had idea to have masters degree on topic of video +delivery over Internet. I was few years too early to make it actually +work, but now-days we have all components needed to create good video +archive on the web. + +I envision this as combination of two parts: + + * powerful video editing suite running locally with annotations + * good web interface with sync between slides and video + + +SOURCE MATERIAL + +I have some of my presentations in video with slides, but I also have +few of freely available presentations which would benefit from +audio-video slide annotation. So you are assumed to have two files: + + 1. video file in Ogg Theora format + 2. pdf file with slides of presentation + 3. create html file with meta-data + +All of this is stored under media in directory conference-lecture. + +If you have different file formats, go ahead and use ffmpeg2theora: + + http://v2v.cc/~j/ffmpeg2theora/ + +New Theora encoder 1.1 create videos that are better than anything I saw +on the web, oggz tool has chop support, so extracting part of video is +very easy and possible. + +When re-encoding video materials following command line gives more-or-less +resonable video size while inserting keyframes for nice seek: + + ffmpeg2theora -p padma --keyint 1 source_video.flv + + +VIDEO EDITING + +I like mplayer, and lerning another set of tools to do video editing +didn't make sense to me. + +It works on all platforms I'm interested in (including EeePC and +PlayStation 3) and I know keyboard shortcuts for it. + +So, I used it over it's slave protocol which is described on + + http://www.mplayerhq.hu/DOCS/tech/slave.txt + +and available locally as docs/slave.txt which I used to implement new keyboard +commands: + + dpavlin@t61p:~/t61p/html5tv$ grep -A10 'keyboard' bin/mplayer.pl + + # XXX keyboard shortcuts + + $1 eq 'c' ? repl + : $1 eq ',' ? add_subtitle + : $1 eq 'F1' ? prev_subtitle + : $1 eq 'F2' ? move_subtitle( -0.3 ) + : $1 eq 'F3' ? move_subtitle( +0.3 ) + : $1 eq 'F4' ? next_subtitle + : $1 eq 'F5' ? save_subtitles + : $1 eq 'F9' ? add_subtitle + : $1 eq 'F12' ? edit_subtitles + : warn "CUSTOM $1\n" + ; + +I used to work with semi-professional Sony U-matic video montage back in 1990 +and have grown to love it's workflow which doesn't force you to click +all over the screen to do something useful. + +In fact, with this tool, I need 3-5 times more time to finish material, +and with most video editing solutions available in open source, +I needed at least 10-20 times more time to do anything useful. + + +SUBTITLING + +I decided to store subtitles in array-of-arrays in yaml with simple structure +of start,end,title. On every save, I need also to create .srt subtitle format +for mplayer and json data for web interface. + +Effective subtitle editing requires preroll. This is feature from my U-matic days +because scopes (U-matic video recorders with magnetic tape) couldn't speed up +instantly, so they would rewind, and than start FEW SECONDS BEFORE your edit point. + +This was crucial concept for implementing the following workflow with mplayer: + + 1. press i to record EDL point (start of subtitle) + 2. press i to end EDL (end of subtitle) + 3. press , to enter subtitle (usually you want to enter subtitle after end of sentence) + 4. mplayer will preroll 3 seconds before subtitle and review it + 5. continue subtitling, goto 1 + +You can also use F9 to add subtitle (nicely located near i key) or F12 to enter vi +and make bulk subtitle changes (remove empty subtitles and so on). + +SLIDES + +Subtitles are least common denominator for meta data which I want to preserve. +However, to sync subtitles with slides, I have introduced magic syntax: + + [42] slide title + +which triggers switch to slide 42. + +In presentations which are created using Takahashi method (lot of slides with +transitions which follow speaker) you might use just add subtitle to mark +transition to next slide. + + +HTML5 WEB INTERFACE + +Web interface using HTML5