1+ <?php
2+ /**
3+ * This file is part of PHP-FFmpeg-Extensions library.
4+ * (c) Alexander Sharapov <alexander@sharapov.biz>
5+ * http://sharapov.biz/
6+ */
7+
8+ ini_set ('display_errors ' , 1 );
9+ date_default_timezone_set ('UTC ' );
10+ require_once dirname (__FILE__ ) . '/../vendor/autoload.php ' ;
11+
12+ $ logger = new \Monolog \Logger ('debug ' );
13+ $ logger ->pushHandler (new \Monolog \Handler \StreamHandler ('render.log ' , \Monolog \Logger::ERROR ));
14+ $ logger ->pushHandler (new \Monolog \Handler \StreamHandler ('info.log ' , \Monolog \Logger::INFO ));
15+
16+ if ($ _SERVER ['SERVER_NAME ' ] == 'ffmpeg.local ' ) {
17+
18+ $ ffmpeg = \Sharapov \FFMpegExtensions \FFMpeg::create ([
19+ 'ffmpeg.binaries ' => 'D:\Projects\videomachine2\ffmpeg\bin\ffmpeg.exe ' , // Path to FFMpeg
20+ 'ffprobe.binaries ' => 'D:\Projects\videomachine2\ffmpeg\bin\ffprobe.exe ' , // Path to FFProbe
21+ 'timeout ' => 3600 , // The timeout for the underlying process
22+ 'ffmpeg.threads ' => 12 , // The number of threads that FFMpeg should use
23+ ], $ logger );
24+
25+
26+ } else {
27+
28+ $ ffmpeg = \Sharapov \FFMpegExtensions \FFMpeg::create ([
29+ //'ffmpeg.binaries' => 'D:\Projects\videomachine2\ffmpeg\bin\ffmpeg.exe', // Path to FFMpeg
30+ //'ffprobe.binaries' => 'D:\Projects\videomachine2\ffmpeg\bin\ffprobe.exe', // Path to FFProbe
31+ 'ffmpeg.binaries ' => '/home/ezmembersarea/videoapp/app/module/RenderEngine/FFmpegStatic/ffmpeg ' ,
32+ 'ffprobe.binaries ' => '/home/ezmembersarea/videoapp/app/module/RenderEngine/FFmpegStatic/ffprobe ' ,
33+ 'timeout ' => 3600 , // The timeout for the underlying process
34+ 'ffmpeg.threads ' => 12 , // The number of threads that FFMpeg should use
35+ ], $ logger );
36+ }
37+ $ audio = $ ffmpeg ->open (new \Sharapov \FFMpegExtensions \Input \File (dirname (__FILE__ ) . '/source/LastResort.mp3 ' ));
38+
39+ $ options = new \Sharapov \FFMpegExtensions \Filters \Audio \MergeFilterOptions \OptionsCollection ();
40+ $ file1 = new \Sharapov \FFMpegExtensions \Filters \Audio \MergeFilterOptions \OptionAudioFile (new \Sharapov \FFMpegExtensions \Input \File (dirname (__FILE__ ) . '/source/LastStand.mp3 ' ));
41+ $ file1
42+ ->setVolumeLevel (0.2 );
43+ $ options
44+ ->add ($ file1 );
45+
46+ $ audio
47+ ->filters ()
48+ ->combineStereos ($ options );
49+ //->stereo2mono();
50+ //->mono2stereo(new \Sharapov\FFMpegExtensions\Input\File(dirname(__FILE__) . '/source/mono2.mp3'));
51+ //->merge($filterOptions);
52+
53+ //print '<pre>';
54+ //print_r($video);
55+ //print '</pre>';
56+
57+ $ format = new \FFMpeg \Format \Audio \Mp3 ();
58+ $ format ->on ('progress ' , function ($ video , $ format , $ percentage ) {
59+ print $ percentage . "\n" ;
60+ });
61+
62+ $ audio ->save ($ format , dirname (__FILE__ ) . '/output/output.mp3 ' );
63+ die ("\n<br />1 " );
64+
65+
66+ /*
67+ *
68+ '/home/ezmembersarea/videoapp/app/module/RenderEngine/FFmpegStatic/ffmpeg' '-y' '-i' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/demo_video_720p_HD.mp4' '-i' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/intro_720p_muted.mp4' '-i' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/bg_green.jpeg' '-filter_complex' '[1:v]scale=120:60[t1],[0:v][t1]overlay=130:180' '-b:v' '1000k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/output/output.mp4'
69+ *
70+ *
71+ *
72+ *
73+ *
74+ *
75+ '/home/ezmembersarea/videoapp/app/module/RenderEngine/FFmpegStatic/ffmpeg' '-y' '-i' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/demo_video_720p_HD.mp4' '-i' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/bg_green.jpeg' '-i' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/intro_720p_muted.mp4' '-filter_complex' '[1:v]scale=120:60[s2],[0:v][s2]overlay=130:150[s3],[2:v]scale=120:60[s4],[s3][s4]overlay=130:180[s5],[s5]drawtext=fontfile=/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/OpenSansRegular.ttf:text='\''Layer2'\'':fontcolor='\''#ffffff@1'\'':fontsize=20:x=130:y=160:box=1:boxcolor='\''000000'\''@1:boxborderw=10,drawtext=fontfile=/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/OpenSansRegular.ttf:text='\''Layer1'\'':fontcolor='\''#ffffff@1'\'':fontsize=20:x=130:y=150:box=1:boxcolor='\''red'\''@1:boxborderw=10' '-b:v' '1000k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/output/output.mp4'
76+ *
77+ *
78+ '/home/ezmembersarea/videoapp/app/module/RenderEngine/FFmpegStatic/ffmpeg' '-y' '-i' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/demo_video_720p_HD.mp4' '-i' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/intro_720p_muted.mp4' '-i' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/bg_green.jpeg' '-filter_complex' '[2:v]scale=120:60[s4],[0:v][s4]overlay=130:180[s6],[1:v]scale=120:60[s2],[s2][s2]overlay=130:150[s3],[s3]drawtext=fontfile=/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/OpenSansRegular.ttf:text='\''Layer2'\'':fontcolor='\''#ffffff@1'\'':fontsize=20:x=130:y=160:box=1:boxcolor='\''000000'\''@1:boxborderw=10,drawtext=fontfile=/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/source/OpenSansRegular.ttf:text='\''Layer1'\'':fontcolor='\''#ffffff@1'\'':fontsize=20:x=130:y=150:box=1:boxcolor='\''red'\''@1:boxborderw=10' '-b:v' '1000k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' '/home/ezmembersarea/public_html/app/ffmpeg-ext/examples/output/output.mp4'
79+ *
80+ */
81+
82+ $ video2 = $ ffmpeg ->open (new \Sharapov \FFMpegExtensions \Input \File (dirname (__FILE__ ) . '/source/EZSCtest1a.mov ' ));
83+
84+ $ audio = $ ffmpeg ->open (new \Sharapov \FFMpegExtensions \Input \File (dirname (__FILE__ ) . '/source/demo-sound.mp3 ' ));
85+
86+
87+ print '<pre> ' ;
88+ print_r ($ video );
89+ print '</pre> ' ;
90+
91+ print '<pre> ' ;
92+ print_r ($ video2 );
93+ print '</pre> ' ;
94+
95+ print '<pre> ' ;
96+ print_r ($ audio );
97+ print '</pre> ' ;
0 commit comments