2

我是视频处理的新手,我正在尝试用 Python 编写程序。该方案是通过时间戳将一个长视频分割成一些短视频。

例如,我有一个输入video long_video.avi15 分钟。我想提取到 2 个视频,short_1_5_video.avi(1'-5')和short_6_10_video.avi(6'-10')。输入视频有容器AVI和视频格式JPEG。这是视频信息(显示在 mediainfo 工具中):

在此处输入图像描述

我想找到一个可以从 Python 调用的 CLI(命令行界面)工具。我尝试了一些工具:

  • mp4boxhttp://www.videohelp.com/tools/mp4box):

    但 mp4box 不支持 AVI 文件。它只支持 MKV 和 MP4 文件。

  • mkvmerge(在 mkv 工具中):

    但是 mkvmerge 只支持 MKV 文件。

  • ffmgeg

    但它似乎不支持按时间戳分割视频(“似乎”,因为我在 ffmpeg 的规范中没有找到它)。

我考虑过将输入视频从转换AVIMP4MKV然后将其拆分,但是转换所需的时间太长。请建议我一个工具可以分割AVI文件JPEG格式视频,可以从命令行控制。

另外,我也想找一个可以做到这一点的GUI工具。

4

2 回答 2

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>

于 2012-06-08T05:14:22.087 回答
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
于 2012-06-08T05:22:13.147 回答