2015-01-21 5 views
0

내 웹 사이트에서 .h264 파일을 재생하려고합니다 (.h264 접미사가있는 .mp4가 아닌 파일!) 내가이 작업을 수행 할 수있는 방법이 있습니까? HTML 태그가 지원하지 않는 것 같습니다..h264 파일 재생 웹 플레이어

웹 사이트가 Raspberry pi에서 실행 중이며 백엔드를 충돌시킬 수 있으므로 자동으로 mp4로 변환 할 수 없습니다. 비디오는 라즈베리 파이에 장착 된 카메라에 의해 생성됩니다.

HTML : 직접 동영상 URL을로드 할 경우에도, 내가 보는 모든 횡설수설입니다

% if loaded_video is not None: 
           <video width="720" height="480" controls> 
            <source src="/movies/{{loaded_video.name}}" type="video/mp4" /> 

            Your browser does not support the video tag. 
           </video> 

.

아무도 도와 줄 수 있습니까? 감사합니다.

+0

[ "WebM 형식과 MPEG H로 비디오를 제공 할 수 있습니다. 264 AAC format "] (https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats) – sjagr

+0

MIME 타입만큼 브라우저가 * 확장 기능을 신경 쓰지 않는다고 생각합니다. 서버에서 보냈습니다. "

+0

@RocketHazmat 잘 연결된 것과 같은 점에서, 저는 MP4가 단지 컨테이너 일 뿐이므로 H.264 코덱을 이미 전송하고 있다고 확신합니다. 그러나 "높은 프로필로 인코딩 된 MP4는 하단 하드웨어에서 실행되지 않습니다. 저가형 파이어 폭스 OS 폰과 같은 것 "이라고 덧붙였다. 그러나 같은 기사에서 로열티가없는 형식이 아니므로 직접'.h264' 형식은 작동하지 않습니다. 이러한 이유로 브라우저 공급 업체는 명시 적으로 확장 프로그램을 지원하지 않아 _ _ 못했습니다. – sjagr

답변

0

웹 브라우저는 raw .264 파일을 재생하지 않습니다. 그것은 mp4와 같은 컨테이너에 넣어야합니다. 이 라이브 비디오 인 경우, 브라우저는 미디어 소스 확장을 사용할 수있는 많은 현대인이

불가능, MP4로 자동으로 변환하는 조각난 MP4 (M4S)를 재생하기 때문에 충돌 백엔드 것이다.

그러면 버그입니다. 충돌을 수정하십시오.

@sjagr

예, H.264의 로열티 무료 아니지만, 포장하는 것은 한는 MP4는 제한을 제거하지 않습니다. * .264는 annexB 형식으로 저장된 h.264 NAUL입니다. 이것은 h.264 사양의 일부입니다.

+0

라즈베리의 계산 능력이 낮기 때문에 백엔드가 중단됩니다. 오버 클럭 할 때조차도 백엔드와 변환을 동시에 실행할 수 없습니다. –

+0

라즈베리 파이는 annexb 스트림을 mp4 컨테이너로 멀티플렉싱하는 데 충분한 처리 능력이 있습니다. 필요한 것은 moov 아톰을 작성하고 시작 코드를 길이로 변환 한 다음 스트림을 mdat에 쓰는 것입니다. 모든 CPU가 '충돌'없이이를 수행 할 수 있습니다. 천천히 할 수 있습니다. – szatmary

+0

그건 사실이지만 내 라스베리 파이는 내 비디오 프로젝트를 만들고 웹 서버를 운영하는 소프트웨어 프로젝트를 운영하고 있습니다. 따라서 모든 것을 결합하면 전환을 수행 할 수 없습니다. –

1

브로드 웨이 emscripten javascript h264 디코더 포트를 사용하여 h264 파일을 브라우저에 표시 할 수 있습니다. 실시간 검색을 원할 경우 websocket 서버/릴레이가 필요하며 chunked NAL (h264 프레임)을 제대로 보내고 있는지 확인하십시오. 이 매우 정확한 목적을 위해 프로젝트를 작성했습니다 (rpi cam에서 raw h264를 사용하는 브라우저로 실시간 스트리밍). "github h264-live-player"