참고 : 이 답변은 원래 게시 이후 크게 편집되었습니다. 지금은 2017 년입니다. 스트리밍은 예전과 다르게 작동합니다. 이 가이드에서는 적응 형 스트리밍이 아닌 특정 해상도에서 하나의 비디오 스트림을 점진적으로 다운로드하는 것으로 가정합니다.
요구 사항
먼저 최신 ffmpeg
버전 을 다운로드 하십시오 (정적 빌드 다운로드, 호출하지 마십시오 apt-get install ffmpeg
). 이상적으로는 직접 컴파일하십시오 . 너무 오래 걸리지 않습니다.
대부분의 브라우저에서 지원하는 비디오를 생성하려면 항상 최신 호환성 표를 확인하십시오 . 모든 브라우저에서 작동하는 단일 코덱 / 형식은 없지만 WebM에서 MP4로 H.264를 생성하고 WebM에서 VP9를 생성하는 경우 해당 오디오 코덱으로 Chrome, Firefox, Safari 및 일부 버전의 IE를 지원합니다.
WebM (VP9 / Vorbis)
FFmpeg VP9 안내서 의 권장 사항을 따르고 속도 제한이있는 2 패스 인코딩 방식을 사용하십시오.
ffmpeg -y -i input-c:v libvpx-vp9 -b:v 2000k -minrate 500k -maxrate 2500k -c:a libvorbis -pass 1 -f webm /dev/null && \
ffmpeg -i input-c:v libvpx-vp9 -b:v 2000k -minrate 500k -maxrate 2500k -c:a libvorbis -pass 2 output.webm
대상 비트 전송률은 해상도, 프레임 속도, 내용 유형 및 원하는 품질에 따라 다릅니다. 30fps에서 HD 비디오의 경우 2.5MBit / s가 적합합니다. 몇 가지 권장 사항 은 이 Google 가이드 를 참조하십시오 .
MP4 (H.264 / AAC)
FFmpeg H.264 안내서 의 권장 사항을 따르고 속도 제한이있는 2 패스 인코딩 방식을 사용하십시오.
ffmpeg -y -i input -c:v libx264 -b:v 5000k -minrate 1000k -maxrate 8000k -pass 1 -c:a aac -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -b:v 5000k -minrate 1000k -maxrate 8000k -pass 2 -c:a aac -movflags faststart output.mp4
여기서 H.264는 그다지 효율적이지 않기 때문에 대상 비트 전송률이 VP9 비디오보다 약 50 % 높아야합니다. -movflags faststart
비디오의 초기 로딩 속도를 높이려면 두 번째 패스에 옵션을 추가하십시오 .
오디오 옵션을 설정하려면 AAC 인코딩 안내서를 참조하십시오 .
.mov
HTML5 비디오는 없으며h.264
확장명도 없습니다. 가 이다.264
NAL 단위의 원시 부속서 B의 바이트 스트림이다. 비디오 인코딩은 로켓 과학이 아니지만 개념을 이해하려면 약간의 시간을 투자해야합니다.