![Linux 上的媒体文件分段工具](https://linux22.com/image/1229951/Linux%20%E4%B8%8A%E7%9A%84%E5%AA%92%E4%BD%93%E6%96%87%E4%BB%B6%E5%88%86%E6%AE%B5%E5%B7%A5%E5%85%B7.png)
我正在寻找一个可以将视频文件分割成多个小的 .ts 文件的 Linux 工具。
我知道一个适用于 Mac OS X 的称为 Media File Segmenter 的工具,它是一个简单的命令行工具 - 我正在寻找一个适用于 Linux 的等效工具。
答案1
其他人提到ffmpeg;现在它有一个漂亮、干净的段复用器在 Linux 上,ffmpeg
您不应该依赖包管理器自带的任何(过时的)版本,而应该下载静态构建或者从源代码编译。
将视频分成几个一分钟的片段,同时生成 m3u8 播放列表并复制所有流(因此无损,但不完全准确的剪切):
ffmpeg -i input.mpg -c copy -f segment \
-segment_time 60 -segment_list list.m3u8 output%03d.ts
为了准确分割,文档建议重新编码并使用,-force_key_frames
以确保I 帧关于段复用器尝试拆分的时间(另请参阅库文件和加气混凝土编码指南ffmpeg 维基):
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
答案2
如果你想从 H.264 剪切视频,你应该使用:
ffmpeg -i Black_Lagoon_E10.mkv -ss 00:08:55 \
-c copy -t 00:00:32 \
-vbsf h264_mp4toannexb -f mpegts Ostanovites.ts
答案3
尝试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
如果您有大量基本格式随机的视频,这是一个不错的选择。它是视频的“瑞士军刀”。
如果你刚开始使用 mpeg,你也可以尝试韓式,其中包括各种 mpeg 工具,包括分割器。在我看来,分割比 ffmpeg 更容易。要将文件分割成 10 个块,每个块的基本名称为“chunk”:
mpgtx -10 input.mpg -b chunk
答案4
尝试剛果如果你想要一些带有 UI 的东西。