我是视频处理的新手,我正在尝试用Python编写程序。 该计划是通过时间戳将长视频分割成一些短视频。
例如,我有一个输入video long_video.avi
,长度为15分钟。
我希望提取2个视频,short_1_5_video.avi
(1'-5')和short_6_10_video.avi
(6'-10')。
输入视频包含容器AVI
和视频格式JPEG
。
这是视频信息(在mediainfo工具中显示):
我想找一个可以从Python调用的CLI(命令行界面)工具。 我尝试了一些工具:
mp4box
(http://www.videohelp.com/tools/mp4box):
但是mp4box不支持AVI文件。它只支持MKV和MP4文件。
mkvmerge
(在mkv工具中):
但是mkvmerge只支持MKV文件。
ffmgeg
:
但似乎不支持按时间戳分割视频(“似乎”因为我没有找到它 在ffmpeg的规范中。
我考虑过将输入视频从AVI
转换为MP4
或MKV
,然后将其拆分,但转换所需的时间太长。
请建议我一个工具可以将AVI
文件与JPEG
格式视频分开,该视频可以通过命令行进行控制。
此外,我还想找到一个可以做到这一点的GUI工具。
答案 0 :(得分:1)
我相信您可以使用ffmpeg
(-ss
秒或hh:mm:ss格式表示起始位置,-t
以秒为单位hh:mm:ss格式表示长度/持续时间)。
mencoder
(mplayer的一部分)似乎也可以。我没有链接到mplayer / mencoder网站,而是链接到可能有帮助的mencoder命令行选项的页面。
我相信vlc
也适用(--start-time <time in seconds> --stop-time <time in seconds> --sout <output file>
)
答案 1 :(得分:1)
假设您要将此文件拆分为3个部分:beginning -> 00:00:05 -> 00:00:10 -> end
,请尝试以下操作:
mencoder -endpos 00:00:05 -oac copy -ovc copy input.avi -o part1.avi
mencoder -ss 00:00:05 -oac copy -ovc copy input.avi -o tmp.avi
mencoder -endpos 00:00:10 -oac copy -ovc copy tmp.avi -o part2.avi
mencoder -ss 00:00:10 -oac copy -ovc copy tmp.avi -o part3.avi