Index: trunk/extensions/TimedMediaHandler/WebVideoTranscode/WebVideoTranscodeJob.php |
— | — | @@ -58,6 +58,10 @@ |
59 | 59 | $status = $this->ffmpegEncode( $file, $destinationFile, $options, 1 ); |
60 | 60 | if( $status ){ |
61 | 61 | $status = $this->ffmpegEncode( $file, $destinationFile, $options, 2 ); |
| 62 | + // unlink the .log file used in two pass encoding: |
| 63 | + wfSuppressWarnings(); |
| 64 | + unlink( $destinationFile . '.log' ); |
| 65 | + wfRestoreWarnings(); |
62 | 66 | } |
63 | 67 | // remove any log files |
64 | 68 | $this->removeFffmpgeLogFiles( dirname( $destinationFile) ); |
Index: trunk/extensions/TimedMediaHandler/TimedMediaHandler.hooks.php |
— | — | @@ -60,6 +60,7 @@ |
61 | 61 | // Also add the .log file ( used in two pass encoding ) |
62 | 62 | // ( probably should move in-progress encodes out of web accessible directory ) |
63 | 63 | $wgExcludeFromThumbnailPurge+= array( 'log'); |
| 64 | + |
64 | 65 | /** |
65 | 66 | * Add support for the "TimedText" NameSpace |
66 | 67 | */ |
Index: trunk/extensions/TimedMediaHandler/README |
— | — | @@ -18,48 +18,65 @@ |
19 | 19 | // TimedMediaHandler |
20 | 20 | require( "$IP/extensions/TimedMediaHandler/TimedMediaHandler.php" ); |
21 | 21 | |
22 | | -oggThumb |
23 | 22 | |
24 | | -We use oggvideotools for creating still images of videos, you will need a copy on your |
25 | | -server. |
| 23 | +Kaltura html5 player library |
| 24 | +----- |
| 25 | +TimedMediaHandler uses the Kaltura html5 player library for video playback. |
26 | 26 | |
27 | | -Set the oggThumb binary location with: |
| 27 | +For more information about the player library visit: |
| 28 | +http://html5video.org or http://www.kaltura.org/project/HTML5_Video_Media_JavaScript_Library |
28 | 29 | |
29 | | - $wgOggThumbLocation = '/path/to/oggThumb'; |
30 | 30 | |
31 | | -Download oggThumb from: http://dev.streamnik.de/oggvideotools.html |
32 | | - |
33 | | - |
34 | 31 | FFmpeg |
35 | 32 | ------ |
36 | 33 | |
37 | | -We use FFmpeg for creating still images of videos, you will need a copy on your |
38 | | -server. |
| 34 | +We use FFmpeg for creating still images of videos, and for transcoding webm |
| 35 | +videos. You will need a copy on your server. |
39 | 36 | |
40 | | -Some old versions of FFmpeg had a bug which made it extremely slow to seek in |
41 | | -large theora videos in order to generate a thumbnail. This is fixed in the |
42 | | -current version. If you are using an old version of FFmpeg and find that |
43 | | -performance is extremely poor (tens of seconds) to generate thumbnails of |
44 | | -theora videos that are several minutes or more in length, try applying our |
45 | | -ffmpeg-bugfix.diff. |
46 | | - |
47 | 37 | Download source: http://ffmpeg.mplayerhq.hu/download.html |
48 | 38 | About the bug: https://roundup.mplayerhq.hu/roundup/ffmpeg/issue159 |
49 | 39 | |
| 40 | +Static Binary /latest version/ distribution for major os |
| 41 | +( with webm encoder and borad decode support ) |
| 42 | +http://firefogg.org/nightly/ |
| 43 | + |
50 | 44 | Suggested configure line for minimal functionality: |
51 | 45 | |
52 | 46 | ./configure --disable-demuxers --disable-muxers --disable-decoders --disable-encoders \ |
53 | 47 | --disable-ffserver --disable-ffplay --enable-encoder=mjpeg --enable-muxer=mjpeg \ |
54 | 48 | --enable-decoder=theora --enable-demuxer=ogg --disable-network --disable-devices \ |
55 | 49 | --disable-parsers --enable-parser=vp3 --build-suffix=-still |
| 50 | + |
| 51 | +Suggested configure line for webm encoding and decoding of many formats: |
56 | 52 | |
| 53 | + --enable-gpl --enable-version3 --enable-postproc --enable-libvorbis --enable-pthreads \ |
| 54 | + --disable-shared --disable-ffserver --disable-ffprobe --enable-postproc \ |
| 55 | + --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-bzlib --enable-libtheora \ |
| 56 | + --enable-libspeex --enable-libvpx --disable-encoders --disable-decoder=vp8 --disable-muxers \ |
| 57 | + --enable-encoder='bmp,dvvideo,ffv1,ffvhuff,flac,gif,huffyuv,libdirac,libschroedinger,\ |
| 58 | + libtheora,libvorbis,libvpx,mjpeg,pbm,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_s16be,\ |
| 59 | + pcm_s16le,pcm_s24be,pcm_s24le,pcm_s32be,pcm_s32le,pcm_s8,pcm_u16be,pcm_u16le,pcm_u24be,\ |
| 60 | + pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,pgm,pgmyuv,png,ppm,rawvideo,tiff,vorbis,zlib' \ |
| 61 | + --enable-muxer='aiff,crc,dv,gif,image2,image2pipe,matroska,matroska_audio,md5,mjpeg,\ |
| 62 | + null,ogg,pcm_f32be,pcm_f32le,pcm_f64be,pcm_f64le,pcm_s16le,pcm_s24be,pcm_s24le,pcm_s32be,\ |
| 63 | + pcm_s32le,pcm_s8,pcm_u16be,pcm_u16le,pcm_u24be,pcm_u24le,pcm_u32be,pcm_u32le,pcm_u8,rawvideo\ |
| 64 | + ,wav,webm,yuv4mpegpipe' |
| 65 | + |
| 66 | + |
| 67 | + Some old versions of FFmpeg had a bug which made it extremely slow to seek in |
| 68 | +large theora videos in order to generate a thumbnail. This is fixed in the |
| 69 | +current version. If you are using an old version of FFmpeg and find that |
| 70 | +performance is extremely poor (tens of seconds) to generate thumbnails of |
| 71 | +theora videos that are several minutes or more in length, try applying our |
| 72 | +ffmpeg-bugfix.diff. |
| 73 | + |
57 | 74 | Set the FFmpeg binary location with: |
58 | 75 | |
59 | 76 | $wgFFmpegLocation = '/path/to/ffmpeg'; |
60 | 77 | |
61 | 78 | after the require line in LocalSettings.php. |
62 | 79 | |
| 80 | + |
63 | 81 | ffmpeg2theora |
64 | 82 | ------ |
65 | 83 | |
— | — | @@ -70,8 +87,22 @@ |
71 | 88 | |
72 | 89 | $wgffmpeg2theoraLocation = '/path/to/ffmpeg2theora'; |
73 | 90 | |
74 | | -Download ffmpeg2theora from: http://v2v.cc/~j/ffmpeg2theora/ |
| 91 | +Download ffmpeg2theora from: http://firefogg.org/nightly/ |
75 | 92 | |
| 93 | + |
| 94 | +oggThumb |
| 95 | +------ |
| 96 | + |
| 97 | +We use oggvideotools for creating still images of videos, you will need a copy on your |
| 98 | +server. |
| 99 | + |
| 100 | +Set the oggThumb binary location with: |
| 101 | + |
| 102 | + $wgOggThumbLocation = '/path/to/oggThumb'; |
| 103 | + |
| 104 | +Download oggThumb from: http://dev.streamnik.de/oggvideotools.html |
| 105 | + |
| 106 | + |
76 | 107 | Cortado |
77 | 108 | ------- |
78 | 109 | |
— | — | @@ -89,8 +120,8 @@ |
90 | 121 | PEAR File_Ogg |
91 | 122 | ------------- |
92 | 123 | |
93 | | -I forked the PEAR File_Ogg package and improved it significantly in order to |
94 | | -support this extension. I have now taken over maintainership of File_Ogg and |
| 124 | +Tim Starling forked the PEAR File_Ogg package and improved it significantly in order to |
| 125 | +support this extension. Tim Starling has now taken over maintainership of File_Ogg and |
95 | 126 | merged my changes into the latest release. This extension will now work with |
96 | 127 | either the bundled File_Ogg class, or a File_Ogg package from PEAR with |
97 | 128 | version 0.3.0 or greater. It is licensed under the LGPL. |
— | — | @@ -100,13 +131,14 @@ |
101 | 132 | As per the usual convention, the PEAR base directory (the one with PEAR.php in |
102 | 133 | it) must be in your include_path. |
103 | 134 | |
104 | | -Graphics |
105 | 135 | |
106 | | -The icons play.png, pause.png, stop.png and info.png are from the Crystal Project: |
| 136 | +getID3 |
| 137 | +---------- |
| 138 | +getID3 is used for metadata of WebM files. |
107 | 139 | |
108 | | - http://www.everaldo.com/crystal/ |
109 | | - |
110 | | -They are licensed under the LGPL. |
111 | | - |
| 140 | +getID3() by James Heinrich <info@getid3.org> |
| 141 | +available at http://getid3.sourceforge.net |
| 142 | +or http://www.getid3.org |
| 143 | + |
| 144 | +getID3 code is released under the GNU GPL: |
| 145 | +http://www.gnu.org/copyleft/gpl.html |
Index: trunk/extensions/TimedMediaHandler/TimedMediaIframeOutput.php |
— | — | @@ -70,16 +70,6 @@ |
71 | 71 | echo $out->getHeadLinks($skin); |
72 | 72 | echo $out->getHeadItems(); |
73 | 73 | ?> |
74 | | - <style> |
75 | | - body { |
76 | | - background-image:url('<?php echo $file->getThumbUrl( $thumbName )?>'); |
77 | | - background-repeat:no-repeat; |
78 | | - background-attachment:fixed; |
79 | | - background-position:center; |
80 | | - background-color:#000; |
81 | | - background-size: 100%; |
82 | | - } |
83 | | - </style> |
84 | 74 | </head> |
85 | 75 | <body> |
86 | 76 | <div id="bgimage"></div> |