微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何判断ffmpeg是否出错?

情况:

我正在使用ffmpeg(通过PHP)来转换video文件。 我configuration了我的转换脚本,从exec()命令返回输出(作为$ error数组)。 我的假设是,如果没有错误发生,$错误将是一个空的数组。

问题:

问题是,即使在转换中没有错误,脚本也会返回输出。 (我可以告诉你没有错误,因为输出了可播放的video文件。)

问题:

ffmpeg如何格式化错误/输出? 我想能够parsing这个,并确定是否发生错误,是什么错误

谢谢!

代码创build另一个窗口?

是否有可能使用Windows原始inputAPI没有窗口(即从控制台应用程序)?

如何在控制台窗口C ++中删除滚动条

通过跛脚增加几个mp3文件的音量

控制台textgame.exe在Windows 7上,而不是在Vista上…为什么?

码:

*一个错误输出的例子:

FFmpeg version git-N-29201-g37c0a44,copyright (c) 2000-2011 the FFmpeg developers| built on Sep 9 2011 23:29:21 with gcc 4.1.2 20080704 (Red Hat 4.1.2-50)| configuration: --prefix=/usr/local/hgffmpeg --enable-shared --enable-nonfree --enable-avfilter --enable-filter=movie --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/hgffmpeg/include/ --extra-ldflags=-L/usr/local/hgffmpeg/lib --enable-decoder=ac3 --enable-decoder=asv1 --enable-decoder=asv2 --enable-decoder=flac --enable-decoder=wmv1 --enable-decoder=wmv2 --enable-decoder=wmv3 --enable-decoder=mpeg1video --enable-decoder=mpeg2video --enable-decoder=flv --enable-decoder=fraps --enable-decoder=h263 --enable-decoder=h264 --enable-decoder=libgsm --enable-decoder=mjpeg --enable-decoder=mpeg4 --enable-decoder=mpeg4aac --enable-decoder=mpegvideo --enable-decoder=mpeg4aac --enable-decoder=msmpeg4v1 --enable-decoder=msmpeg4v2 --enable-decoder=msmpeg4v3 --enable-decoder=pcm_alaw --enable-decoder=pcm_mulaw --enable-encoder=ac3 --enable-encoder=asv1 --enable-encoder=asv2 --enable-encoder=flac --enable-encoder=h263 --enable-encoder=flashsv --enable-encoder=flv --enable-encoder=libgsm --enable-encoder=mjpeg --enable-encoder=msmpeg4v3 --enable-encoder=pcm_alaw --enable-encoder=pcm_mulaw --enable-encoder=mpeg1video --enable-encoder=mpeg2video --enable-encoder=mpeg4 --enable-encoder=msmpeg4v1 --enable-encoder=msmpeg4v2 --enable-encoder=rv10 --enable-encoder=rv20 --enable-encoder=vorbis --enable-encoder=wmav1 --enable-encoder=wmav2 --enable-encoder=wmv1 --enable-encoder=wmv2 --disable-demuxer=v4l --disable-demuxer=v4l2 --enable-version3| libavutil 50. 40. 1 / 50. 40. 1| libavcodec 52.120. 0 / 52.120. 0| libavformat 52.108. 0 / 52.108. 0| libavdevice 52. 4. 0 / 52. 4. 0| libavfilter 1. 79. 1 / 1. 79. 1| libswscale 0. 13. 0 / 0. 13. 0|[mpeg1video @ 0x1f6d030] skipped MB in I frame at 5 0|[mpeg1video @ 0x1f6d030] Warning MVs not available|[mpeg1video @ 0x1f6d030] concealing 260 DC,260 AC,260 MV errors|[mpegvideo @ 0x1f6a660] Estimating duration from bitrate,this may be inaccurate|Input #0,mpegvideo,from '../uploads/test_vid/unencodedVideo.mpg':| Duration: 00:00:00.01,bitrate: 104860 kb/s| Stream #0.0: Video: mpeg1video,yuv420p,320x200 [PAR 1:1 DAR 8:5],104857 kb/s,23.98 fps,23.98 tbr,1200k tbn,23.98 tbc|WARNING: The bitrate parameter is set too low. It takes bits/s as argument,not kbits/s|File '../uploads/test_vid/video.flv' already exists. Overwrite ? [y/N] Not overwriting - exiting

Python控制台菜单使用字典

Bashrecursion地在每个目录上执行一个命令

我怎样才能列出Linux上的命令行(控制台模式)upnp服务器/渲染器?

如何执行控制台EXEs而不产生新的控制台窗口?

如何防止控制台窗口在ghc应用程序中closures?

假设你使用exec()来调用ffmpeg,你会想要:

$lastline = exec('ffmpeg ...',$full_output,$return_var); if ($return_var !== whatever_ffmpeg_returns_on_success) { die("ffmpeg Failed"); }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐