PHP adds subtitles to the video and uses ffmpeg
Usage: copy code abve into encoder. php place this file into your web server root directory, install all the requried tools needed to use ffmpeg-php now place some video. avi and video. srt or video. sub etc video. idx subtitle, to encode video with srt visit your script http: // yourip/encoder. php it shoshould grab thumbnail then start the encoding job, refresh page and thats it This encoding script has been tested on a bare bone VPS ubuntu 8.04 server with the following tools installed Apache2 PHP5 Php-cli Ffmpeg-php Ffmpeg Mencoder Optional: mplayer-cocould be used instead of ffmpeg to grab thumbnails
- $ Dir = './'; // set to current folder
- If ($ handle = opendir ($ dir )){
- While (false! ==( $ File = readdir ($ handle ))){
- If (is_file ($ dir. $ file )){
- If (preg_match ("'\. (avi) $'", $ file )){
- $ Sub_file = str_ireplace (". avi", ". srt", $ dir. $ file );
- $ Idx_file = str_ireplace (". avi", ". idx", $ dir. $ file );
- $ Thumb_file = str_ireplace (". avi", ". jpg", $ dir. $ file );
- $ Out_file = str_ireplace (". avi", ". mp4", $ dir. $ file );
- Flv_convert_get_thumb ($ dir. $ file, $ sub_file, $ idx_file, $ thumb_file, $ out_file );
- }
- Else {
- Continue;
- }
- }
- }
- Closedir ($ handle );
- }
- // Flv_convert_get_thumb ('input. avi', 'input. srt', 'output.jpg ', 'output. ogm ');
- // Code provided and updated by steve of phpsnaps! Thanks
- // Accepts:
- // 1: the input video file
- // 2: path to thumb jpg
- // 3: path to transcoded mpeg?
- Function flv_convert_get_thumb ($ in, $ in_sub, $ in_idx, $ out_thumb, $ out_vid ){
- // Get thumbnail
- $ Cmd = 'ffmpeg-v 0-y-I '. $ in. '-vframes 1-ss 250-vcodec mjpeg-f rawvideo-s 286x160-aspect '. $ out_thumb;
- $ Res = shell_exec ($ cmd );
- // $ Res is the output of the command
- // Transcode video
- $ Cmd = 'encoder '. $ in. '-O '. $ out_vid. '-sub '. $ in_sub. '-subfont-text-scale 3.0-subpos 99-af volume = 10-aspect-of avi-noodml-ovc x264-x264encop $
- $ Res = shell_exec ($ cmd );
- }
- ?>
|