video - FFMPEG - 60fps 到 30fps,在一行中烧录

标签 video ffmpeg frame-rate video-conversion

我已经尝试完成这项工作一段时间了,我认为我只是缺乏一些知识。
我基本上是在尝试将 60fps 视频转换为 30fps 并同时刻录时间码。
到目前为止我有

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 转换有关,因为显然我们将帧减半。我真的想避免多次调用和“临时”文件。
如果有人能告诉我我做错了什么并教育我一点,那就太棒了
提前谢谢各位

最佳答案

洛根为我提供的答案适用于输入视频的一两次编辑。

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
不完全确定魔法在这里是如何工作的,但它的工作原理!

关于video - FFMPEG - 60fps 到 30fps,在一行中烧录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68475806/

相关文章:

javascript - 如何在该网页标题的帖子中执行给定数据

ios - 如何获取iOS视频嵌入的分析(og:video)

bash - 递归列出目录中所有文件的视频时长

FFMPEG:剪切、添加水印和合并

iphone - MPMoviePlayer 不播放视频

android - Mediarecorder 视频 RTP/RTSP 流!

ffmpeg - 使用ffmpeg从m4v文件中提取图片

java - Jogl 动画师总是说 FPS 为 0

ffmpeg - 加速和 fps 更改后 WMP 中的伪影

javascript - PixiJS - 设置固定帧率