Команда FFmpeg для кодирования mpeg-ts

sed -ri 's/.*cccccccccccccc */cccccccccccccc OK/g' filename

где filename - имя вашего имени входного файла.

2
задан 24 January 2018 в 11:39

3 ответа

Как всегда, с FFmpeg есть ряд вариантов, и я немного сузил это немного, чтобы создать четкий ответ:

1. Кодеки вашего входного файла поддерживаются в контейнере TS:

Изучите ваш входной файл с помощью FFmpeg следующим образом:

ffmpeg -i input.mp4

Если файл содержит кодеки, которые хорошо поддерживаются в контейнере TS, например, видео H.264 и звук AAC, вы можете просто скопировать потоки через:

ffmpeg -i input.mp4 -c copy output.ts

Это даст отличные результаты, хотя вам может понадобиться изменить эту командную строку в зависимости от фактического использования вывода файл (потоковое воспроизведение, определенное устройство воспроизведения и т. д.).

1. Кодеки вашего входного файла поддерживаются в контейнере TS:

Если ваш входной файл содержит кодеки, которые недостаточно хорошо поддерживаются в контейнере TS, вам нужно будет перекодировать видео или аудиопотоки или оба , Кодеки по умолчанию для FFmpeg и TS-контейнера - это mpeg2video и mp2-звук. Если вы с удовольствием поедете с этими кодеками по умолчанию, это даст отличные результаты:

ffmpeg -i input.mp4 \
       -c:v mpeg2video -qscale:v 2 \
       -c:a mp2 -b:a 192k \
       output.ts

Это, безусловно, дало вполне разумные результаты в моей системе, а также на вашем ...

3. Вы хотите сегментировать свой файл для HTTP Live Streaming (HLS):

И, наконец, вы можете создать сегментированный файл TS с плейлистом для использования с потоковым потоком HTTP (HLS). Существует так же, как всегда, несколько способов сделать это, но приведенная ниже примерная команда будет хорошо работать для входных файлов, кодеки которых поддерживаются в контейнере TS:

ffmpeg -re -i input.mp4 \
       -codec copy -map 0 \
       -f segment -segment_list playlist.m3u8 \
       -segment_list_flags +live -segment_time 10 \
       out%03d.ts

Если вы хотите изменить кодеки ввода файл просто добавляет необходимые настройки вместо -codec copy, я считаю, что H.264 и AAC являются популярными кодеками для этого типа потоковой передачи. Много места для экспериментов с параметрами сегмента, которые хорошо поддерживаются в контейнере TS

3. Вы хотите сегментировать свой файл для HTTP Live Streaming (HLS):

Сравнение форматов видеоконтейнеров: удобный набор таблиц, показывающих, какие кодеки живут наиболее счастливо в каждом формате контейнера. Аудиокодеки для TS контейнеры: FFmpeg с радостью разместит эти кодеки в TS: MP2, MP3, LC-AAC, HE-AAC, AC3. Ссылка здесь ... в разделе «Контейнерные форматы». Настройки и параметры сегмента для FFmpeg: Отличное объяснение требуемых параметров для сегментации ваших файлов. Хорошо стоит посмотреть раздел примеров ...
1
ответ дан 22 May 2018 в 15:20
  • 1
    Вау! спасибо .... это прояснилось много. – Fayas B 25 January 2018 в 09:09
  • 2
    Есть ли команда, аналогичная команде ffmpeg в вопросе создания сегментированных файлов ts вместе с файлом списка воспроизведения? – Fayas B 25 January 2018 в 09:09
  • 3
    @FayasB Конечно, но мне нужно немного поэкспериментировать с этим. Я вижу здесь несколько соображений: hlsbook.net/segmenting-video-with-ffmpeg , над которым я буду работать и добавить ответ ... – andrew.46 25 January 2018 в 09:39
  • 4
    @FayasB Сделано! Самое сложное, что я некоторое время работал над вопросом о AskUbuntu :) – andrew.46 25 January 2018 в 15:39

Как всегда, с FFmpeg есть ряд вариантов, и я немного сузил это немного, чтобы создать четкий ответ:

1. Кодеки вашего входного файла поддерживаются в контейнере TS:

Изучите ваш входной файл с помощью FFmpeg следующим образом:

ffmpeg -i input.mp4

Если файл содержит кодеки, которые хорошо поддерживаются в контейнере TS, например, видео H.264 и звук AAC, вы можете просто скопировать потоки через:

ffmpeg -i input.mp4 -c copy output.ts

Это даст отличные результаты, хотя вам может понадобиться изменить эту командную строку в зависимости от фактического использования вывода файл (потоковое воспроизведение, определенное устройство воспроизведения и т. д.).

1. Кодеки вашего входного файла поддерживаются в контейнере TS:

Если ваш входной файл содержит кодеки, которые недостаточно хорошо поддерживаются в контейнере TS, вам нужно будет перекодировать видео или аудиопотоки или оба , Кодеки по умолчанию для FFmpeg и TS-контейнера - это mpeg2video и mp2-звук. Если вы с удовольствием поедете с этими кодеками по умолчанию, это даст отличные результаты:

ffmpeg -i input.mp4 \ -c:v mpeg2video -qscale:v 2 \ -c:a mp2 -b:a 192k \ output.ts

Это, безусловно, дало вполне разумные результаты в моей системе, а также на вашем ...

3. Вы хотите сегментировать свой файл для HTTP Live Streaming (HLS):

И, наконец, вы можете создать сегментированный файл TS с плейлистом для использования с потоковым потоком HTTP (HLS). Существует так же, как всегда, несколько способов сделать это, но приведенная ниже примерная команда будет хорошо работать для входных файлов, кодеки которых поддерживаются в контейнере TS:

ffmpeg -re -i input.mp4 \ -codec copy -map 0 \ -f segment -segment_list playlist.m3u8 \ -segment_list_flags +live -segment_time 10 \ out%03d.ts

Если вы хотите изменить кодеки ввода файл просто добавляет необходимые настройки вместо -codec copy, я считаю, что H.264 и AAC являются популярными кодеками для этого типа потоковой передачи. Много места для экспериментов с параметрами сегмента, которые хорошо поддерживаются в контейнере TS

3. Вы хотите сегментировать свой файл для HTTP Live Streaming (HLS):

Сравнение форматов видеоконтейнеров: удобный набор таблиц, показывающих, какие кодеки живут наиболее счастливо в каждом формате контейнера. Аудиокодеки для TS контейнеры: FFmpeg с радостью разместит эти кодеки в TS: MP2, MP3, LC-AAC, HE-AAC, AC3. Ссылка здесь ... в разделе «Контейнерные форматы». Настройки и параметры сегмента для FFmpeg: Отличное объяснение требуемых параметров для сегментации ваших файлов. Хорошо стоит посмотреть раздел примеров ...
1
ответ дан 17 July 2018 в 22:21

Как всегда, с FFmpeg есть ряд вариантов, и я немного сузил это немного, чтобы создать четкий ответ:

1. Кодеки вашего входного файла поддерживаются в контейнере TS:

Изучите ваш входной файл с помощью FFmpeg следующим образом:

ffmpeg -i input.mp4

Если файл содержит кодеки, которые хорошо поддерживаются в контейнере TS, например, видео H.264 и звук AAC, вы можете просто скопировать потоки через:

ffmpeg -i input.mp4 -c copy output.ts

Это даст отличные результаты, хотя вам может понадобиться изменить эту командную строку в зависимости от фактического использования вывода файл (потоковое воспроизведение, определенное устройство воспроизведения и т. д.).

1. Кодеки вашего входного файла поддерживаются в контейнере TS:

Если ваш входной файл содержит кодеки, которые недостаточно хорошо поддерживаются в контейнере TS, вам нужно будет перекодировать видео или аудиопотоки или оба , Кодеки по умолчанию для FFmpeg и TS-контейнера - это mpeg2video и mp2-звук. Если вы с удовольствием поедете с этими кодеками по умолчанию, это даст отличные результаты:

ffmpeg -i input.mp4 \ -c:v mpeg2video -qscale:v 2 \ -c:a mp2 -b:a 192k \ output.ts

Это, безусловно, дало вполне разумные результаты в моей системе, а также на вашем ...

3. Вы хотите сегментировать свой файл для HTTP Live Streaming (HLS):

И, наконец, вы можете создать сегментированный файл TS с плейлистом для использования с потоковым потоком HTTP (HLS). Существует так же, как всегда, несколько способов сделать это, но приведенная ниже примерная команда будет хорошо работать для входных файлов, кодеки которых поддерживаются в контейнере TS:

ffmpeg -re -i input.mp4 \ -codec copy -map 0 \ -f segment -segment_list playlist.m3u8 \ -segment_list_flags +live -segment_time 10 \ out%03d.ts

Если вы хотите изменить кодеки ввода файл просто добавляет необходимые настройки вместо -codec copy, я считаю, что H.264 и AAC являются популярными кодеками для этого типа потоковой передачи. Много места для экспериментов с параметрами сегмента, которые хорошо поддерживаются в контейнере TS

3. Вы хотите сегментировать свой файл для HTTP Live Streaming (HLS):

Сравнение форматов видеоконтейнеров: удобный набор таблиц, показывающих, какие кодеки живут наиболее счастливо в каждом формате контейнера. Аудиокодеки для TS контейнеры: FFmpeg с радостью разместит эти кодеки в TS: MP2, MP3, LC-AAC, HE-AAC, AC3. Ссылка здесь ... в разделе «Контейнерные форматы». Настройки и параметры сегмента для FFmpeg: Отличное объяснение требуемых параметров для сегментации ваших файлов. Хорошо стоит посмотреть раздел примеров ...
1
ответ дан 23 July 2018 в 22:59

Другие вопросы по тегам:

Похожие вопросы: