微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更轻松地获取视频文件中的时间码

如何解决更轻松地获取视频文件中的时间码

我正在浏览一些视频以修剪它们(提取视频的部分内容)。

我知道有数十亿个软件可以轻松修剪视频,但我还没有找到任何不会重新编码结果的软件。

我现在的方法是在 MPC-BE 中打开视频 -> 播放 -> 暂停 -> 记下时间 -> 继续找地方结束剪辑 -> 暂停 -> 记下视频的结束时间夹子。然后我取时间码并使用 ffmpeg 提取部分。通常是这样的:

ffmpeg -i input.mp4 -ss 01:50:00 -to 01:55:00 -c:v copy -c:a copy output.mp4

我的问题是有没有更简单的方法获取时间码?最好的办法是使用 ffplay 播放,只需点击组合键即可复制时间码。但我也开放任何其他方法,可以更容易地获得时间码。正如您可能理解的那样,为 23 个剪辑手动写下时间码是一件非常痛苦的事情。

解决方法

mpv

播放器 mpv 支持不属于核心播放器的自定义功能的脚本。有几个涉及剪切/修剪的 user scripts 可用,可能会有所帮助:

  • copyTime - 获取视频的当前时间并以 HH:MM:SS.MS 格式将其复制到剪贴板。
  • trim.lua - 无需转码即可创建视频文件的剪辑。利用 ffprobe 获取准确的关键帧。
  • splice - 根据当前播放视频中的剪辑创建视频。
  • mpv_slicing_copying - 来自 mpv_slicing 的分叉。它将以原始格式而不是 RGB 剪切视频片段。
  • excerpt - 允许您从媒体文件中快速创建摘录,您只需设置开始和结束标记。

无损切割

LosslessCutffmpeg 的 GUI,用于无损修剪和剪切视频和音频文件。

losslesscut screenshot

,

这是我的方法:使用ffplay,

ffplay -vf "drawtext=text='%{pts\:hms}':box=1:x=(w-tw)/2:y=h-(2*lh)" J1.mp4

其中 J1 是要播放的文件。

在电影中写时间:

ffmpeg -start_at_zero -copyts -ss 00:00:14.435 -i showfreqs.mp4 -vf "drawtext=fontfile=/path/to/Arial.ttf: fontsize=45:fontcolor=yellow:box=1:boxcolor=black:x=(W-tw)/2:y=H-th-10:text='Time\: %{pts\:hms}'" outputTemps.mp4

或尝试:

ffmpeg -i output.mp4 -vcodec libx264 -cmp 22 -vf "drawtext=fontfile=DroidSansMono.ttf: timecode='09\:57\:00\:00': r=23.976: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099" -y output.mov

我发现本教程显示:https://www.youtube.com/watch?v=noKvwcnT9aw

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。