更轻松地获取视频文件中的时间码
Getting time codes in video files easier
我正在浏览一些视频 trim 他们(提取部分视频)。
我知道有数十亿种软件可以轻松 trim 视频,但我还没有找到任何不重新编码结果的软件。
我现在的方法是在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 个剪辑的时间码真的很痛苦。
这是我的方法:使用 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
mpv
可用的播放器 mpv support scripts for custom functionality that is not part of the core player. There are several user scripts 涉及 cutting/trimming 可能有帮助:
- copyTime - 获取视频的当前时间并以
HH:MM:SS.MS
. 格式复制到剪贴板
- trim.lua - 创建 trim 视频文件而不转码。利用
ffprobe
获取准确的关键帧。
- splice - 使用当前播放视频中的剪辑创建视频。
- mpv_slicing_copying - A fork from mpv_slicing。它将以原始格式而不是 RGB 格式剪切视频片段。
- excerpt - 允许您从媒体文件中快速创建摘录,您只需设置开始和结束标记。
无损剪辑
LosslessCut 是 ffmpeg
的 GUI,用于无损 trim 视频和音频文件的制作和剪切。
我正在浏览一些视频 trim 他们(提取部分视频)。
我知道有数十亿种软件可以轻松 trim 视频,但我还没有找到任何不重新编码结果的软件。
我现在的方法是在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 个剪辑的时间码真的很痛苦。
这是我的方法:使用 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
mpv
可用的播放器 mpv support scripts for custom functionality that is not part of the core player. There are several user scripts 涉及 cutting/trimming 可能有帮助:
- copyTime - 获取视频的当前时间并以
HH:MM:SS.MS
. 格式复制到剪贴板
- trim.lua - 创建 trim 视频文件而不转码。利用
ffprobe
获取准确的关键帧。 - splice - 使用当前播放视频中的剪辑创建视频。
- mpv_slicing_copying - A fork from mpv_slicing。它将以原始格式而不是 RGB 格式剪切视频片段。
- excerpt - 允许您从媒体文件中快速创建摘录,您只需设置开始和结束标记。
无损剪辑
LosslessCut 是 ffmpeg
的 GUI,用于无损 trim 视频和音频文件的制作和剪切。