Можно ли использовать ffmpeg конвертировать .mp4 в .ts при получении запроса http - PullRequest
0 голосов
/ 06 марта 2019

Я ищу статью, в которой говорится, что сначала нужно преобразовать mp4, затем дождаться запроса и отправить ts и m3u8.

Но я ищу способ, то есть, когда приходит запрос, тогда я начну конвертировать видео и сразу же отправлю m3u8, когда конвертация не закончена.

Если запрос приходит, но файл ts не готов, подождите, пока файл не будет готов, и отправьте его немедленно.

Возможно ли сделать что-то подобное? или можете использовать другой способ получить тот же эффект?

1 Ответ

0 голосов
/ 06 марта 2019

Когда вы начинаете с MP4 с одной битовой скоростью и хотите использовать его в качестве потока HLS или MPEG-DASH (обычно его называют просто DASH), вы обычно делаете несколько шагов:

  • транскодируйтевидео на сколько угодно скоростных версий
  • разбить видео на сегментированный или фрагментированный формат, чтобы разрешить потоковую передачу HLS или MPEG-DASH
  • 'Package' в конкретный протокол потоковой передачи, который вы хотите использовать дляустройство, на которое вы транслируете, обычно это HLS или DASH в наши дни.

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

Затем упаковка применяется «точно в срок», когда пользователь или клиент запрашивает видео.Обратите внимание, что перекодирование, разбиение и даже упаковка могут быть объединены за один шаг, при этом некоторые облачные службы кодирования предлагают именно эту услугу, однако упаковка «Just In Time» все еще очень распространена.

Основная причинадля того, чтобы не делать 'Just In Time' транскодирование также означает, что транскодирование требует интенсивной работы процессора.Возможность планировать это, когда у вас есть запасные вычислительные ресурсы или вы можете уделять этому достаточно времени, часто является наиболее экономически эффективным подходом.

Определенно возможно выполнить перекодирование «точно в срок» - вот чтоЖивые трансляции должны делать в любом случае.Однако то, что вы сэкономите на затратах на хранение, может быть съедено (в несколько раз, иногда) затратами на обработку, так что это не только техническое решение, но и бизнес-решение.

...