FFmpeg录制视频黑屏

       最近在研究用FFmpeg录制视频,在网上找了大量的教程,资料,然而录制完的视频,都无法在windows媒体播放器打开,打开黑屏或失败,本人查阅了各种国内外论坛,很多人遇到了此问题,然而最终都未能解决。后来本人偶然间发现了一个开源录屏软件Captura,这个软件录制视频是可以正常在windows下播放的,于是本人下载安装Visual Studio,研究Captura源码,耗费了一整天时间,终于在Captura源码中找到了答案,现分享给大家

      相信很多人都是从国内外网站的论坛上查看的FFmpeg录制视频的教程,然而大部分网站上的教程提供的命令都是有些小问题的,命令有误导致录制黑屏

      解决方案如下:

      我看到过网上的大部分FFmpeg录制视频教程都用的是libx264编码的,如果想要用这个格式进行编码,就需要加一个额外的参数:-pix_fmt yuv420p,甭管为什么,加上就好使,完整命令如下:ffmpeg.exe -f gdigrab -offset_x 42 -offset_y 325 -video_size 1196x900 -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -pix_fmt yuv420p  dd.mp4

      上述命令是可以录制一段windows下可以打开的视频的

       当然如果用libx264编码,就不需要考虑此性参数了,例如正确录制AVI命令如下:

ffmpeg.exe -f gdigrab -offset_x 42 -offset_y 325 -video_size 1196x900 -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libxvid -qscale:v 11  ddddd.avi

     由此可见:FFmpeg的很多参数并不是独立的,有些参数是依赖于另一个参数才能有效发挥作用的,这导致FFmpeg的学习和使用上存在了一些困难

      

你可能感兴趣的:(ffmpeg,音视频)