video - 如何加快视频速度以缩短其长度并嵌入时间戳以表示录制时间?
问题描述
我有一个以 5 fps 录制的视频,我想将其加速到 30 fps 以缩短它。这很简单:
ffmpeg -i input.mp4 -r 30 -vf "setpts=(1/6)*PTS" output.mp4
但是当我尝试为其添加时间戳时:
ffmpeg -i input.mp4 -r 30 -vf "setpts=(1/6)*PTS, drawtext=text='%{pts\:localtime\:1610043985\:%Y\-%m\-%d %H\\\\\:%M\\\\\:%S.}%{eif\:mod(n,30)\:d}'" output.mp4
时间戳不再代表记录的时间(它现在应该运行得更快)
单程实现这一目标的最简单方法是什么?
解决方案
先放过drawtext
滤器,再setpts
放过滤器:
ffmpeg -i input.mp4 -r 30 -vf "drawtext=..., setpts=..." output.mp4
推荐阅读
- java - 使用 keytab 文件连接到 Impala 的 jdbc URL
- php - 如果我在 php 的 http post 方法中使用 '#' 会发生什么?
- xml - 正确编码 XSLT 样式表的问题
- statistics - 寻找离散二项分布问题的概率
- react-native - Expo推出Camera Async Android无法正常工作
- mysql - MySql - 选择字符串中存在的特定数字等记录并用逗号分隔
- android - 如何在android上正确灰度位图以使文件更轻
- c# - 类型“动作
" 存在于 2 个 DLL 中,我如何指定使用哪一个或避免使用哪一个? - python - Python - replace the startswith character
- angular - Angular 8 @Input Child Component 奇怪的问题