[ffmpeg]将yuv编码为h264时,如何控制帧率
dwing吧
全部回复
仅看楼主
level 4
qwe111day 楼主
yuv编码为h264,如何保证视频的帧率恒定为15帧,并且保证总时长不会变长。低于15帧的要补帧,高于15帧的要弃帧。这个具体应该如何实现。(pts怎么设置)。
刚学习ffmpeg 很多东西都不懂,还请多指教[太开心]
2016年07月06日 03点07分 1
level 4
qwe111day 楼主
我现在实现了将原视频由25帧变为15帧,但是总时长会变长,这个弃帧的操作应该怎么去做,怎么弃?弃哪些帧?Ծ ̮ Ծ
2016年07月06日 03点07分 2
level 1
-vf fps=25,fps=15 来两个fps试试
2016年07月06日 11点07分 3
感谢层主[太开心]。我主要还是想用代码实现,现在有思路了,就是把都在(1/15)s内多余的帧丢弃,现在问题是我的dts好像都不太对(不知道yuv转h264的dts应该怎么弄)
2016年07月06日 11点07分
@qwe111day 玩ffmpeg开发?
2016年07月06日 11点07分
@qwe111day 表示只会命令行...
2016年07月06日 11点07分
2016年07月06日 11点07分
level 1
ffmpeg -r 25 -i "xxx.yuv" -vf fps=15 -c:v libx264 -x264opts force-cfr=1 -vsync cfr xxx.mp4 这样应该可以了吧...
2016年07月06日 11点07分 4
顺便问下楼主知道这个在代码里滤镜应该怎么写么[疑问]。我其他的滤镜都可以用,就这个用不了[笑尿]。可能是我写的有问题。"fps=fps=15"我是照着官网上的文档写的。但是会报错
2016年07月06日 12点07分
level 1
楼主解决了这问题吗,我也想把ffmpeg里对视频处理的帧数改成一个确定值,求指教
2017年11月12日 08点11分 6
减少帧数解码之后直接丢弃就好了,要增加的话就拷贝原来的帧
2017年11月13日 01点11分
@qwe111day 解码之后直接丢弃是改transcode这里面的代码吗?另外直接丢弃帧视频会不会变短呢?初次接触ffmpeg,谢大佬指教[真棒]
2017年11月13日 11点11分
@愿一直晃晃悠悠 你把30fps的变为24fps每30帧丢弃6帧就好了,其实不用解码之后,你在read到这个pkt后跳过这次解码就好了
2017年11月13日 11点11分
@愿一直晃晃悠悠 不过最好还是解码后处理,如果遇到i帧可能有问题
2017年11月13日 11点11分
level 4
就和采样一样,记录当前帧的时间戳,当下一帧的时间戳到达时送编码器编码即可
2017年11月14日 00点11分 7
1