iPhone OS 3에서 Apple은 HTTP Live Streaming을 도입 했으므로 인터넷에서 비디오를 라이브 스트리밍 할 수 있습니다. 현재 웹캠을 작동 중입니다.이 웹캠이 내 서버에 연결되어 ffmpeg에 의해 flv 스트림으로 변환되고 ffserver를 사용하여 다시 스트리밍됩니다. 누구든지 ffmpeg 및 ffserver를 사용하여 iPhone에서 사용할 수있는 비디오 스트림을 설치하는 방법을 알고 있습니까? 난 즉시 모든 형식으로 다시 인코딩 할 수 있어야합니다.HTTP 라이브 스트리밍, FFMPEG & FFSERVER 및 iPhone OS 3
답변
버전이 ≥ e109a29d6ddb02b2dd58c6c385ebec27f2d23b58 (git) 또는 18793 (svn) 인 ffmpeg 사본을 만들어야합니다. 빌드 할 때 --enable-libx264 플래그도 지정해야합니다. 당신이 일어나서 실행 한 후에는 다음과 같은 대략 수행 할 수 있습니다
ffmpeg -i <input video> -acodec libmp3lame -ac 1 -vcodec libx264 -s 320x240 \
-level 30 -f mpegts - | \
segmenter - 10 test test.m3u8 http://example.com/path/to/your/files/
즉 입력 파일을 가져 오거나 애플의 분할기로는 FFmpeg 및 파이프 MP3 오디오를 가진 H.264 비디오로 스트리밍. 분할기는 세그먼트 화 된 비디오 파일과 세그먼트 화 된 파일을 가리키는 M3U 재생 목록을 출력합니다. Apache와 같은 웹 서버를 통해 세그먼트 화 된 파일과 재생 목록을 제공합니다.
분명히 ffmpeg 및 분할기 옵션을 조정하여 나중에 얻은 결과를 얻을 수 있습니다.
내가 관심이있는 분들을 위해 ffmpeg를 사용하게 해주는 스크립트와 함께 오픈 소스 분류기를 번들로 제공했습니다. 내 segmented streaming on the iphone 프로젝트를 참조하십시오. 입력 스트림에 대해 다중 비트 전송률 세그먼트를 수행 할 수 있으며 scp, ftp 및 심지어 aws s3까지 스트림 세그먼트를 구성 가능한 대상으로 전송합니다.
QuickTime을 사용하여 동영상을 "iPhone"형식으로 변환하는 것이 잘못된 이유는 무엇입니까? 파일> 내보내기> iPhone 형식 만하면됩니다. 뭔가 빠졌습니까?
mediafilesegmenter -t 10 -f folderName/ nameOfInputFile.m4v
(참고 : 다음 폴더 이름/폴더가 존재해야한다)
그런 다음 웹 사이트에 아이폰을 지적
아이폰 형식으로 변환 한 후, 나는 (Apple Developer Connection, Http Live Streaming Tools에서 발견) mediafilesegmenter와 그것을 잘라
<video src='folderName/prog_index.m3u8' height=45 width=70
controls='on'>Your browser does not support the video tag</video>
이것은 꽤 오래된 주제이지만 HLS 지원은 FFmpeg의 새로운 기능인 누군가에게 유용 할 수 있습니다.
로 될 예 사용은 다음과 같습니다
ffmpeg -i <input_stream> -c:v libx264 -preset ultrafast -map 0 -an -flags -global_header -f hls -hls_time <segment_length> -hls_list_size <playlist_entries> -hls_wrap <wrap> <m3u8_file>
가 -hls_list_size
인수는 파일의 수를 제한 : 라이브 스트리밍을하려는 경우
ffmpeg -i <input_file> -c:v libx264 -preset slow -map 0 -an -flags -global_header -f hls -hls_time <segment_length> <m3u8_file>
, 이것은 또 다른 예가 될 것이다 재생 목록 및 -hls-wrap
인수는 총 파일 수를 제한하며 해당 파일 이름이 도착하면 파일 이름을 줄 바꿈합니다 (예 : test0.ts, test1.ts ... test7.ts, test0.ts, test1.ts ...). 포장이 8 일 때).
자세한 내용은 the documentation을 참조하십시오. 위의 예에서는 개인적으로 필요하지 않으므로 플래그로 오디오를 제거합니다.
완벽한 대답 ... 잘 작동 –
멋지지만 출력 형식이 HLS에 맞지 않습니다. Safari에서 m3u8 파일을 볼 때 "누락 된 플러그인"이 표시됩니까? – Jonny
Windows 서버 솔루션은 무엇입니까? – postalservice14
누구나 실제로이 비디오 소스에서 라이브 스트림으로 작업하고 있습니까? 나는 분열 자에게서 오류를 얻으려고 노력하고 있었고 ... –
FFmpeg 버전 SVN-r21627은 오픈 소스 분류기와 함께 작동합니다. http://code.google.com/p/httpsegmenter/ 누구나 해당 버전 이후에 변경된 사항에 대해 알고 있습니까? –