在 Windows 内置播放器中播放文件的正确 Ffmpeg 记录设置?

Geo*_*die 1 video ffmpeg windows-10

我正在使用 Ffmpeg 在 Windows 10 中录制屏幕视频:

ffmpeg -rtbufsize 1500M -f gdigrab -framerate 29.97 -draw_mouse 0 -offset_x 2777 -offset_y 344 -video_size 1280x720 -i desktop -c:v libx264 -vf format=yuv420p -preset ultrafast D:/myvideo.mpg
Run Code Online (Sandbox Code Playgroud)

如果我在 VLC 中播放录制的文件,它们工作正常。如果我在内置的 Windows Media Player 或“电影和电视”中播放它们,我会收到此错误代码:0xc10100be ERROR_INVALID_MODULETYPE

是否有任何设置需要添加到 Ffmpeg 以在 Windows 中使用?

Geo*_*die 5

非常感谢@LordNeckbeard。我忘记了“mpg”文件不是“mp4”这样的容器。好的综述在这里

所以第 1 部分是将输出文件类型设置为“.mp4”。这至少停止了崩溃和错误,但仍然在 Windows 播放器中播放黑色视频。第 2 部分是将像素格式设置为 yuv420p。从这里

为愚蠢的玩家编码

您可能需要使用 -vf format=yuv420p(或别名 -pix_fmt yuv420p)让您的输出在 QuickTime 和大多数其他播放器中工作。这些播放器仅支持对 H.264 视频进行 4:2:0 色度子采样的 YUV 平面色彩空间。

这是有效的 ffmpeg 命令,我确定它需要更多优化:

ffmpeg -rtbufsize 1500M -f gdigrab -framerate 29.97 -draw_mouse 0 -offset_x 2633 -offset_y 103 -video_size 1280x720 -i desktop -pix_fmt yuv420p -c:v libx264  -preset ultrafast D:/myvideo.mp4
Run Code Online (Sandbox Code Playgroud)