像 Linux 媒体文件分割器这样的工具

6 video linux editing

我正在寻找一种适用于 Linux 的工具,它可以将视频文件分割成多个小的 .ts 文件。

我知道一个用于 Mac OS X 的名为 Media File Segmenter 的工具,它是一个简单的命令行工具 - 我正在寻找适用于 Linux 的等效工具。

evi*_*oup 5

其他人提到了ffmpeg;它现在有一个漂亮、干净的段复用器。在 Linux 上,不要依赖ffmpeg包管理器附带的任何(过时)版本,您应该下载静态构建从 source 编译它

要将视频分成几个一分钟的片段,还要生成一个 m3u8 播放列表并复制所有流(如此无损,但并非完全准确切割):

ffmpeg -i input.mpg -c copy -f segment \
-segment_time 60 -segment_list list.m3u8 output%03d.ts
Run Code Online (Sandbox Code Playgroud)

为了准确拆分,文档建议重新编码并使用-force_key_frames以确保在分段复用器尝试拆分时会有I 帧(另请参阅ffmpeg wiki上的libx264AAC编码指南):

ffmpeg -i input.mpg -c:v libx264 -crf 22 -preset veryfast -c:a libfdk_aac -vbr 3 \
-force_key_frames expr:gte(t,n_forced*60) -f segment \
-segment_time 60 -segment_list list.m3u8 output%03d.ts
Run Code Online (Sandbox Code Playgroud)


Dav*_*llo 1

尝试ffmpeg。它功能强大且跨平台。它可能已经存在于您的 Linux 发行版中。要复制第一个视频后的 2 分钟视频并将其从 mpg 转换为 ts:

ffmpeg -vcodec copy -ss 00:01:00 -t 00:03:00 \
       -i input.mpg -vcodec copy -acodec copy \
       -f mpegts output.ts
Run Code Online (Sandbox Code Playgroud)

如果您有大量基本上随机格式的视频,这是一个不错的选择。这是视频领域的“瑞士军刀”。

如果您开始使用 mpeg,您还可以尝试mpegtx,其中包含各种 mpeg 工具,其中包括分割器。恕我直言,比 ffmpeg 更容易分割。要将文件拆分为 10 个块,每个块的基本名称为“chunk”:

mpgtx -10 input.mpg -b chunk
Run Code Online (Sandbox Code Playgroud)

你也许还可以使用VLC作为分离器,但我从来没有这样做过。然而,有一些话题正在讨论它