ffmpeg로 mp4 스트리밍


16

모든 HTML5 비디오 플레이어에서 호환 될 수 있도록 webm과 mp4의 두 가지 스트림이있는 피드를 만들어야합니다. 웹 스트림은 완벽하게 작동합니다. 그러나 mp4 스트림에 액세스하려고하면 서버에서 다음과 같은 오류가 발생합니다.

Sat Mar  9 23:21:54 2013 muxer does not support non seekable output

mp4 스트림을 다루는 ffserver.conf 파일 부분은 다음과 같습니다.

<Stream channel1.mp4>       # Output stream URL definition
   Feed feed1.ffm              # Feed from which to receive video
   Format mp4

   # Audio settings
   AudioCodec libmp3lame
   AudioBitRate 64             # Audio bitrate

   # Video settings
   VideoCodec libx264
   VideoSize 560x320           # Video resolution
   VideoFrameRate 25           # Video FPS
   AVOptionVideo flags +global_header  # Parameters passed to encoder
                                       # (same as ffmpeg command-line parameters)
   AVOptionVideo cpu-used 0
   AVOptionVideo qmin 10
   AVOptionVideo qmax 42
   AVOptionVideo quality good
   AVOptionAudio flags +global_header
   PreRoll 15
   StartSendOnKey
   VideoBitRate 400            # Video bitrate
</Stream>

내가 찾을 수있는 것에서, 어떤 사람들은 mp4를 단순히 스트리밍 할 수 없다고 말합니다. HTML5 비디오 플레이어를 사용하여 iPhone으로 비디오를 스트리밍하기 위해 mp4가 필요하다는 인상을 받았다는 사실을 제외하고는 mp4에 첨부 파일이 없습니다. 그렇지 않은 경우 알려 주시면 ffmpeg 스트리밍에서 더 멋진 재생 기능으로 기꺼이 전환하겠습니다.


3
실제로 MP4 를 스트리밍 할 필요는 없습니다 . HTML5 H.264 / MP4 비디오의 경우 비디오 파일을로 인코딩 -movflags faststart하거나로 처리 qt-faststart한 다음 <video>태그 에서 MP4 파일을 가리 키기에 충분해야합니다 . 그러면 서버 가 클라이언트가 검색 할 수 있도록 H.264 스트리밍 모듈 이 필요합니다 . 아니면 라이브 입력이 있습니까?
slhck

고객이 스트리밍을 요구하고 있습니다. 고객이 완전히 검색을 사용 중지하려고합니다. 파일에서 스트리밍됩니다 (차이가있는 경우 서버의 파일은 webm 형식입니다). iPhone은 컨트롤을 강제로 표시하기 때문에 단순히 컨트롤을 숨길 수 없습니다.
Fibericon

@ slhck : mp4로 라이브 웹캠 입력을 스트리밍하고 있지만 할 수 없습니다. flv를 사용할 때 작동합니다. 라이브 스트리밍에 mp4를 사용할 수 있습니까?
John Qualis

@JohnQualis ffserver로 할 수 있는지 확실하지 않습니다. 그러나 컨테이너는 중요하지 않습니다. 코덱은 FLV 및 MP4 (H.264 및 AAC)와 동일합니다.
slhck

@ sklhck : mp4가 아닌 ffserver를 사용하여 flv로 작동하도록했습니다. 대부분의 웹 브라우저는 mp4를 지원합니다. 나는 아이폰, 안드로이드 및 모든 유명한 웹 브라우저에서 작동하는 무언가가 필요하고 그것의 h264 :) 그리고 나는 웹캠 라이브 스트리밍
John Qualis

답변:


6

2014 년 11 월 12 일에 마지막으로 업데이트 된 웹 사이트의 HTML 5 및 iPad 용 비디오 기사에 다음 정보가 있습니다.

영상

이 기사에서는 AAC와 함께 H.264 인코딩을 사용하여 최근 충분한 버전의 ffmpeg를 사용하여 MP4를 좋은 솔루션으로 사용하는 것이 좋습니다.

세부 사항에주의를 기울여 기사를 읽는 것이 좋습니다. 모든 주요 브라우저에서 작동하는 HTML 파일 예제와 비디오를 .mp4 파일로 변환하여 올바르게 스트리밍되도록하는 예제 FFmpeg 명령이 포함되어 있습니다.


"라이브"스트리밍에 관한 것입니까?
Markus Siebeneicher

@MarkusSiebeneicher : 네. 주로 요.
harrymc

ffmpeg를 사용하여 mp4를 스트리밍하는 데 여전히 "찾을 수없는"문제가 있습니다. ffmpeg 출력을 브라우저에 직접 파이프하고 webm을 사용하면 즉시 작동합니다. mp4 형식을 사용하면 검색 할 수 없다고 말합니다. 따라서 mp4를 "라이브"스트리밍 가능하게 만드는 방법이 궁금합니다. 여기서 비디오는 파일로 직접 저장되지 않으므로 검색 할 수 없습니다.
Markus Siebeneicher 2014

@ MarkusSiebeneicher :이 질문을 새 게시물에 자세하게 묻는 것이 좋습니다.
harrymc

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.