我正在尝试将我的 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 <<<#######