繁体   English   中英

ffmpeg 无法更改 B 帧数

[英]ffmpeg can't change number of B-frames

当从源流式传输时,我不断接收遵循相同模式的帧: I-frame P-frame I-frame P-frame I-frame P-frame... 我尝试了很多选项并在这里阅读了尽可能多的问题,但我找不到增加 P 帧数量或至少启用 B 帧的方法。

主要是我似乎应该使用:

 ffprobe rtsp://localhost/video -g 30 -bf 3 -show_frames -of csv

我究竟做错了什么?

使用-bf选项可以设置 B 帧的数量。

但是您必须使用ffmpeg重新编码输入以更改 GOP 结构。

举个例子:

ffmpeg -i input.mp4 -c:v libx264 -g 12 -bf 2 -flags +cgop output.mp4

生成的 output 应具有以下 GOP 结构:

position 1 2 3 1 2 3 1 2 3 1 2 3
框架

在 shell 上,您可以轻松地 output 使用ffprobe的 GOP 结构。

分析2秒的文件:

ffmpeg -i input.mp4 -map 0 -c copy -t 2 -f nut pipe: | ffprobe pipe: -show_frames | grep pict_type

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM