2016-07-11 3 views
0

Я хочу жить с HTTP Live Streaming, но у меня проблема с libx264 или, может быть, с чем-то другим.libx264 не работает по HTTP потоковой передаче (FFmpeg)

Мое оборудование и программное обеспечение, среда:

  • Macbook Pro
  • VirtualBox с Ubuntu 16,04
  • Nginx и FFmpeg (в Ubuntu)

Я в состоянии потока статического видеофайл (в Ubuntu с Nginx и FFmpeg). Команда FFmpeg выглядит следующим образом:

$ffmpeg -i /my/sample/video.mp4 -codec:v libx264 -f hls /output/file.m3u8 

Но когда дело доходит до веб-камеры (Live Streaming), Mac OS Safari не может открыть поток. Я использовал следующую команду:

$ffmpeg -i /dev/video0 -codec:v libx264 -f hls /output/file.m3u8 

Я предполагаю, что это проблема libx264, потому что, когда я использую mpeg2video кодировщик, Mac OS Safari действительно может играть поток:

$ffmpeg -i /dev/video0 -codec:v mpeg2video -f hls /output/file.m3u8 

Я знаю, что есть библиотека называется video4linux2, следует ли использовать video4linux2 для захвата моей веб-камеры? Но я не знаю подходящую команду FFmpeg для HTTP Live Streaming (я пробовал FFserver, но есть ошибка, например cannot rename hls)

Кто-нибудь пролил свет на мою проблему?

ответ

1

Я понял!

Причина, по которой Mac OS Safari не может открыть HTTP-потоковое потоковое вещание, закодированное libx264, заключается в том, что кодек по умолчанию в Mac OS не поддерживает вывод по умолчанию libx264!

Просто добавьте -pix_fmt yuv420p в команду FFmpeg и все работает отлично:

$ffmpeg -f video4linux2 -i /your/webcam/path -codec:v libx264 -pix_fmt yuv420p /output/file.m3u8 

 Смежные вопросы

  • Нет связанных вопросов^_^