<?php
echo "Details of video file:";
system('ffmpeg -i /home/atish/Videos/T2V0040006_Angled_ride_720x576i_FLDCMB.avi');
?>
同样的命令在我的shell上工作正常,我的系统安装了ffmpeg。这是直接在shell上执行此命令的快照:
ThinkPad-T420:~/Videos$ ffmpeg -i /home/xx/Videos/T2V0040006_Angled_ride_720x576i_FLDCMB.avi
ffmpeg version git-2012-01-10-7e2ba2d Copyright (c) 2000-2012 the FFmpeg developers
built on Jan 10 2012 12:01:19 with gcc 4.6.1
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore- amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
libavutil 51. 34.100 / 51. 34.100
libavcodec 53. 54.100 / 53. 54.100
libavformat 53. 29.100 / 53. 29.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 58.100 / 2. 58.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 51. 2.100 / 51. 2.100
Input #0, avi, from '/home/atish/Videos/T2V0040006_Angled_ride_720x576i_FLDCMB.avi':
Metadata:
encoder : Lavf52.23.1
Duration: 00:00:29.00, start: 0.000000, bitrate: 124422 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 720x576, 25 tbr, 25 tbn, 25 tbc
At least one output file must be specified
我尝试在我的命令中添加“DISPLAY =:0”,并在运行php代码之前完成了“xhost +”,但没有任何东西可以帮助我。
感谢。
答案 0 :(得分:1)
这link解释了如何以及为什么。感谢回复人员。
这是获得所需输出的方法:
echo exec('/usr/local/bin/ffmpeg -i input.mp4 2>&1', $output);
var_dump($output);
答案 1 :(得分:0)
您需要使用exec
代替,并传递输出参数,如此
$op = array();
exec('ffmpeg -i /home/atish/Videos/T2V0040006_Angled_ride_720x576i_FLDCMB.avi', $op)
答案 2 :(得分:0)
您是否尝试过exec()而不是system()?有关PHP和ffmpeg问题的讨论以及使用proc_open()的方法,请参阅here。