我有两个视频,我想连接它们然后添加水印给他们但是在命令运行后给我空白的mp4文件在服务器上,但在本地工作完美和在服务器上两个视频concat完美但在该代码没有运行。< / p>
我的代码如下。
$videoFileName = rand('111111', '999999').'_'.time().'.'.$request->file('video1')->getClientOriginalExtension();
$intermediateVideo1 = rand('1111111', '9999999').'_'.time().'.ts';
$intermediateVideo2 = rand('1111111', '9999999').'_'.time().'.ts';
$concatVideoFileName = rand('111111', '999999').'_'.time().'.'.$request->file('video1')->getClientOriginalExtension();
exec('ffmpeg -i '.$request->file('video1').' -c copy -bsf:v h264_mp4toannexb -f mpegts '.$intermediateVideo1);
exec('ffmpeg -i '.$request->file('video2').' -c copy -bsf:v h264_mp4toannexb -f mpegts '.$intermediateVideo2);
exec('ffmpeg -i "concat:'.$intermediateVideo1.'|'.$intermediateVideo2.'" -c copy -bsf:a aac_adtstoasc '.public_path('uploads/videos/'.$concatVideoFileName));
exec('ffmpeg -i '.public_path('uploads/videos/'.$concatVideoFileName).' -i '.storage_path("assets/image/watermark.png").' -filter_complex "overlay" '.public_path('uploads/videos/'.$videoFileName));
File::delete($intermediateVideo1);
File::delete($intermediateVideo2);
File::delete('uploads/videos/'.$concatVideoFileName);
return response()->download(public_path('uploads/videos/'.$videoFileName));
中间视频1的输出:
ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright(c)2000-2017 the FFmpeg开发人员用gcc 5.4.0构建(Ubuntu 5.4.0-6ubuntu1~16.04.4)20160609配置: - prefix = / usr --extra-version = 0ubuntu0.16.04.1 --build-suffix = -ffmpeg --toolchain = hardened --libdir = / usr / lib / x86_64-linux-gnu --incdir = / usr / include / x86_64-linux-gnu --cc = cc --cxx = g ++ --enable-gpl --enable-shared --disable-stripping --disable- decoder = libopenjpeg --disable-decoder = libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libz vbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自'storage / assets / video / vcs-ads.mp4':元数据: major_brand:mp42 minor_version:0 compatible_brands:mp42mp41isomavc1 creation_time:2018-01-29 00:23:59持续时间:00:00:13.76,开始:0.000000,比特率:460 kb / s 流#0:0(und):视频:h264(高)(avc1 / 0x31637661),yuv420p(tv,smpte170m),640x360 [SAR 1:1 DAR 16:9],327 kb / s,29.97 fps,29.97 tbr,30k tbn,59.94 tbc(默认) 元数据: creation_time:2018-01-29 00:23:59 handler_name:L-SMASH视频处理程序 编码器:AVC编码 流#0:1(und):音频:aac(LC)(mp4a / 0x6134706D),48000 Hz,立体声,fltp,128 kb / s(默认) 元数据: creation_time:2018-01-29 00:23:59 handler_name:L-SMASH音频处理程序输出#0,mpegts,到'1234567_12324.ts':元数据: major_brand:mp42 minor_version:0 compatible_brands:mp42mp41isomavc1 编码器:Lavf56.40.101 流#0:0(und):视频:h264(avc1 / 0x31637661),yuv420p,640x360 [SAR 1:1 DAR 16:9],q = 2-31,327 kb / s,29.97 fps,29.97 tbr, 90k tbn,30k tbc(默认) 元数据: creation_time:2018-01-29 00:23:59 handler_name:L-SMASH视频处理程序 编码器:AVC编码 流#0:1(und):音频:aac(mp4a / 0x6134706D),48000 Hz,立体声,128 kb / s(默认) 元数据: creation_time:2018-01-29 00:23:59 handler_name:L-SMASH音频处理程序流映射:流#0:0 - &gt; #0:0(复制)流#0:1 - &gt; #0:1(复制)按[q]停止,[?]表示帮助帧= 412 fps = 0.0 q = -1.0 Lsize = 898kB 时间= 00:00:13.76比特率= 534.5kbits / s视频:550kB音频:215kB 副标题:0kB其他流:0kB全局标头:0kB多路复用开销: 17.329643%