如何使用 ffmpeg 设置 FPS

如何使用 ffmpeg 设置 FPS

我正在尝试将我的 CCTV 流保存为 300 秒的片段,FPS 为 7。这是我的命令:

ffmpeg -r 7 -i rtsp://192.168.1.100/...stream=0.sdp -acodec aac -strict -2 -vcodec copy -f segment -segment_time 300 -segment_format mp4 "mon1-%03d.mp4"

输出文件似乎不遵守“-r 7”命令(对于 FPS = 7)。有人知道如何设置输出的 FPS 吗?

答案1

当您在前面放置一个参数时-i,它将仅应用于以下输入。

将参数移动到-r输入文件和输出文件之间的某个位置。

就您而言,帧速率不会改变,因为您只复制了视频比特流。更改帧速率时,您必须重新编码视频,因为丢帧意味着帧间预测将不再有效。

答案2

您还可以使用与您所使用的语言相关的计时器,例如在 Python 中:

import subprocess 

cmd =['ffmpeg','-i' vidsource]
proc = sp.Popen(cmd1,  stdout=sp.PIPE )

while True:            
     self.val = proc.stdout.read()
     if proc.poll() is not None:
         break
     if self.val:                
        #>>>put the timer here <<<#######

相关内容