Skip to content

Commit 42883a5

Browse files
dev commit
1 parent 9b1d814 commit 42883a5

File tree

3 files changed

+103
-2
lines changed

3 files changed

+103
-2
lines changed

.gitignore

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
.idea
22
vendor
33
composer.lock
4-
#examples/source
4+
examples/source
55
examples/output
6+
!examples/output/.gitkeep
7+
examples/ffmpeg-20170915-6743351-win64-static
68
data/tmp/*
7-
!data/tmp/.gitkeep
9+
!data/tmp/.gitkeep
10+
data/logs/*
11+
!data/logs/.gitkeep

examples/audio.php

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
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>';

examples/data/tmp/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)