2016-07-11 11 views
0

HTTP Live Streaming과 함께 실시간 스트리밍하고 싶지만 libx264 또는 기타 다른 문제가 있습니다.libx264가 HTTP 라이브 스트리밍 (FFmpeg)에서 실패합니다

내 하드웨어 및 소프트웨어 환경 :

  • 맥북 프로
  • 버추얼 우분투 16.04
  • NginxFFmpeg 내가 정적 비디오 파일을 스트리밍 할 수 있어요

(우분투)와 (우분투에서 Nginx와 FFmpeg로). FFmpeg 명령은 다음과 같습니다 :

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

을하지만 웹캠 (라이브 스트리밍)에 관해서, 맥 OS Safari는 스트림을 여는 데 실패합니다.

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

내가 mpeg2video 인코더를 사용할 때, 맥 OS 사파리 실제로 스트림 재생할 수 있기 때문에 libx264의 문제 같아요 :라는 라이브러리가

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

이를 나는 다음과 같은 명령을 사용하여 video4linux2, 내 웹캠 캡처에 video4linux2를 사용해야합니까? 하지만 나는 적절한 라이브 라이브 스트리밍에 대한 FFmpeg 명령을 모르겠다. (나는 FFserver를 시도했으나 cannot rename hls과 같은 오류가있다.)

누구나 내 문제를 밝힐 수 있을까?

답변

1

나는 그것을 알아 냈습니다! 맥 OS의 기본 코덱이 libx264하여 기본 출력을 지원하지 않기 때문에

맥 OS 사파리 libx264로 인코딩 된 HTTP 라이브 스트리밍을 열 수없는 이유입니다!

단순히 FFmpeg 명령에 -pix_fmt yuv420p를 추가하고 모든 작동합니다 :

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