首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FFMPEG - 60fps至30fps,一行刻录

FFMPEG - 60fps至30fps,一行刻录
EN

Stack Overflow用户
提问于 2021-07-22 04:01:40
回答 2查看 132关注 0票数 1

我尝试这项工作已经有一段时间了,我想我只是在某些方面缺乏知识。

我基本上是试图将一个60fps的视频转换成30fps,同时在时间码中刻录。

到目前为止,我已经

代码语言:javascript
运行
复制
ffmpeg -y -r 60  -i IN.mov -pix_fmt yuv420p -timecode 10:03:13:27 -filter:v fps=30 -vf "[in]drawtext=fontfile='C\:/Windows/Fonts/arial.ttf': timecode='10\:03\:13\:27':timecode_rate=30:x=((w-text_w)/2)/3:y=((h-text_h)-h)+text_h:fontsize=24:fontcolor=white:box=1:boxcolor=black:boxborderw=5[out]"  -r 30 OUT.mov

我手动将60 fps的tc转换为30的一些值(最终将其转换为python)

这一切似乎都很好,直到你看一看烧伤,其中似乎是30,但计数在2。我可以告诉它与60/30的转换,因为很明显,我们正在减半的帧。我真的在努力避免多个调用和‘临时’文件。

如果有人能告诉我我做错了什么,并教我一点,那就太好了。

提前谢谢伙计们

EN

回答 2

Stack Overflow用户

发布于 2021-07-23 13:16:24

llogan为我提供的答案只需对输入视频进行一两次编辑即可。

代码语言:javascript
运行
复制
ffmpeg -i input.mov -timecode 10:03:13:27 -vf "fps=30,drawtext=fontfile='C\:/Windows/Fonts/arial.ttf':timecode='10\:03\:13\:27':timecode_rate=30:x=(w-text_w)/2:y=h-th-10:fontsize=24:fontcolor=white:box=1:boxcolor=black:boxborderw=5,format=yuv420p" output.mov

不完全确定这里的魔法是如何工作的,但它是有效的!

票数 1
EN

Stack Overflow用户

发布于 2021-07-22 05:45:54

因为-r 60必须是30

代码语言:javascript
运行
复制
ffmpeg -y -r 30  -i IN.mov -pix_fmt yuv420p -timecode 10:03:13:27 -filter:v fps=30 -vf "[in]drawtext=fontfile='C\:/Windows/Fonts/arial.ttf': timecode='10\:03\:13\:27':timecode_rate=30:x=((w-text_w)/2)/3:y=((h-text_h)-h)+text_h:fontsize=24:fontcolor=white:box=1:boxcolor=black:boxborderw=5[out]"   out30fps.mp4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68475806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档