使用ffmpeg-python定义流的输入FPS

0 投票
1 回答
15 浏览
提问于 2025-04-12 12:56

我正在用ffmpeg创建一个HLS播放列表,输入源是一个RTSP流。

在检查这个RTSP流的时候,我得到的帧率(FPS)并不是实际的帧率,我想“告诉”ffmpeg真实的帧率。

在命令行中,我使用了-r这个参数,它工作得很好:

ffmpeg -rtsp_transport tcp -r 18 -i rtsp://localhost:554/test -b:v 100KB -vf format=yuvj420p  -c:a copy -hls_time 2 -hls_list_size 10 -hls_flags delete_segments -start_number 1 output.m3u8

我注意到这个参数必须放在输入参数之前。如果我把-r放在后面,它就不管用了。

在ffmpeg-python中,我没有看到可以这样做的选项。而且把它当作参数放到.input()函数里也不行。

我该如何在ffmpeg-python中使用-r这个参数呢?

1 个回答

0

根据文档

任何提供的关键字参数都会直接传递给ffmpeg(比如 t=20f='mp4'acodec='pcm' 等等)。

所以,.input(r=18) 应该可以解决问题。

撰写回答