2017-11-23 19 views
1

웹상에서 3GB 이상의 비디오를 제공하려면 비디오 태그를 사용해야합니다. 페이지가로드 될 때 미디어 요소가 '로드 된 메타 데이터 이벤트'을 수신하는 데 오랜 시간이 걸립니다.순수한 html5 비디오에서 조각난 mp4를 재생할 수 없습니다.

moov 상자의 크기가 (33MB)입니다. 나는이 때 는 그래서 'empty_moov + frag_keyframe''는 FFmpeg'의 옵션으로 다시 인코딩 할뿐만 아니라, 에서 모든 조각난 정보를 가져 오는 데 시간이 더 걸렸다 '관리자 - 네트워크'크롬에서 탭을 선택합니다.

HTML5 비디오 태그 '조각은 MP4' 재생 속도 최대 로딩하는 방법은 무엇입니까?

+0

당신이 비디오의 시작에 MOOV 원자를 재배치 비디오 인코딩이 (https://stackoverflow.com 참조 : 당신은 같은 오픈 소스 exmamples를 볼 수 있습니다/questions/25977044/html5-lagging-videos-mp4/26002847 # 26002847)? – Offbeatmammal

+0

@Offbeatmammal, 물론. 'empty_moov + frag_keyframe'옵션은 MOOV 아톰을 비디오의 시작으로 이동할 수 있습니다. –

답변

0

비디오를 브라우저에 전달하는 데 사용하는 프로토콜은 언급하지 않지만 일반적으로 조각화 된 MP4는 ABR (적응 비트 전송률) 스트리밍 프로토콜과 함께 제공됩니다. 가장 흔히 쓰이는 ABR 프로토콜은 HLS와 DASH 일 것입니다.

ABR을 사용하면 클라이언트가 낮은 비트 전송률로 시작하여 초기 재생 속도를 높일 수 있습니다. 그러면 특정 장치 및 현재 네트워크 조건에 맞는 최적의 품질을 얻기 위해 서로 다른 품질 수준으로 올라갈 수 있습니다.

시작시 비디오 화질이 눈에 띄게 낮고 10-20 초 후에 개선되는 대형 스트리밍 서비스에서이 효과를 볼 수 있습니다. 이 답변에 더 많은 정보를 참조하십시오

저스은 일반적으로 HTML5 태그 기본적으로 ABR을 지원하지 않습니다 - 당신은 일반적으로 HTML5 MSE를 사용하는 자바 스크립트 기반의 플레이어를 사용합니다 이런 이유 (Media Source Extensions) 메커니즘을 사용하여 ABR을 지원합니다.

+0

프로토콜에 대해 잘 모르지만 비디오 태그를 사용할 때 http 프로토콜이라는 것을 알고 있습니다. 어쨌든 파일 크기가 크면 ABR을 사용하지 않고도 빨리 재생할 수있는 방법이 없음을 의미합니다. moov 또는 moof의 크기와 관계없이 비디오 파일이 큰 경우 불가능합니까? –

+0

스트리밍을 지원하는 플레이어는 일반적으로 헤더 정보와 버퍼에 버퍼 된 프레임을 고려하면 재생을 시작하므로 플레이어와 서버가 스트리밍, HTTP, ABR 등의 형식을 지원하면 비디오 길이는 별로 중요하지 않습니다. 낮은 비트 전송률을 사용하면 처음에는 플레이어가 프레임을 더 빨리 가져올 수 있습니다. – Mick