5

Я ищу инструмент для Linux, который может разбить видеофайл на несколько маленьких .ts файлов.

Я знаю один для Mac OS X под названием Media File Segmenter, который представляет собой простой инструмент командной строки - я ищу эквивалентный инструмент для Linux.

4 ответа4

5

Другие упоминали 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-кадров во время, когда мультиплексор сегмента будет пытаться разделиться (см. Также руководства по кодированию libx264 и AAC на вики- сайте 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
1

если вы хотите вырезать видео из 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
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

Это хороший выбор, если у вас много видео в произвольном формате. Это «швейцарский армейский нож» для видео.

Если вы начинаете с mpeg, вы также можете попробовать mpegtx, который включает в себя множество инструментов mpeg, включая сплиттер. Проще имхо чем ffmpeg разбить. Чтобы разделить файл на 10 блоков, каждый с базовым именем 'chunk':

mpgtx -10 input.mpg -b chunk

Вы также можете использовать VLC в качестве сплиттера, но я никогда этого не делал. Однако есть темы, обсуждающие это .

0

Попробуйте dvbcut, если вы хотите что-то с пользовательским интерфейсом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .