0

로컬 MP4 파일을 DASH.js html5 플레이어로 스트리밍하고 싶지만이 mp4 파일을 연대순으로 재생하고 싶지는 않습니다. 내 요구 사항은 하나의 mp4에서 끝이없는 비디오 스트림을 만듭니다. MPD 매니페스트 파일을 만들 때 서버 쪽에서 가장 잘 수행되는 것으로 나타났습니다. 나는 이것을 달성하는 방법을 모르겠다. this stream은 줄 바꿈 동작을 보여줍니다.DASH를 시간순으로 사용하지 않고 실시간 스트림 비디오를 pseduo하려면 어떻게해야합니까?

이 스트림과 비슷한 매니페스트를 어떻게 생성하나요?이를 위해 내 MP4를 올바르게 포맷하려면 어떻게해야합니까?

의도적으로 잘못된 세그먼트를 보내는 서버를 만들려고했지만 재생이 실패합니다. 또한 MP4Box를 사용하여 라이브 스트림 MPD 매니페스트를 만들려고했으나 재생이 실패하게됩니다.

mp4box -dash 1000 -profile dashavc264:live -dynamic -out DASH.mpd -mpd-duration 0 -mpd-refresh 10 -time-shift 0 -min-buffer 5 vid.mp4#video vid.mp4#audio 

이 생성됩니다

<?xml version="1.0"?> 
<!-- MPD file Generated with GPAC version 0.6.2-DEV-rev636-g4bd31f8-ab-suite at 2016-07-05T14:20:26.756Z--> 
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT0.005S" type="dynamic" publishTime="2016-07-05T14:20:26Z" availabilityStartTime="2016-07-05T14:20:26.756Z" timeShiftBufferDepth="PT0H0M0.000S" minimumUpdatePeriod="PT0H0M10.000S" maxSegmentDuration="PT0H0M1.001S" profiles="urn:mpeg:dash:profile:isoff-live:2011,http://dashif.org/guidelines/dash264"> 
<ProgramInformation moreInformationURL="http://gpac.io"> 
    <Title>DASH.mpd generated by GPAC</Title> 
</ProgramInformation> 

<Period id="GENID_DEF" start="PT0H0M0.000S"> 
    <AdaptationSet segmentAlignment="true" maxWidth="1280" maxHeight="720" maxFrameRate="24000/1001" par="16:9" lang="und"> 
    <Representation id="1" mimeType="video/mp4" codecs="avc3.64001f" width="1280" height="720" frameRate="24000/1001" sar="1:1" startWithSAP="1" bandwidth="1428068"> 
    <SegmentTemplate timescale="24000" media="vid_dash_track1_$Number$.m4s" startNumber="1" duration="24000" initialization="vid_dash_track1_init.mp4"/> 
    </Representation> 
    </AdaptationSet> 
    <AdaptationSet segmentAlignment="true" lang="eng"> 
    <Representation id="2" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="32000" startWithSAP="1" bandwidth="97557"> 
    <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> 
    <SegmentTemplate timescale="32000" media="vid_dash_track2_$Number$.m4s" startNumber="1" duration="32000" initialization="vid_dash_track2_init.mp4"/> 
    </Representation> 
    </AdaptationSet> 
</Period> 
</MPD> 

HTML5 플레이어는하지만, 콘텐츠를 재생되지 않습니다, 그것은 올바른 방법으로 매니페스트를 다시 반입을 시도합니다. 나는 무엇이 잘못되었는지, 그리고 위의 스트림을 복제하기 위해해야 ​​할 일이 무엇인지 잘 모르겠습니다.

+0

'mp4box -dash 30000 -frag 30000 -frag - 랩 -profile dashavc264 : dash.mpd의 vid.mp4의 동영상 # -out -dynamic -mpd 새로 고침 5 -segment - 타임 라인 -url 템플릿을 살 vid.mp4 # audio' 비슷한 결과를 생성 할 수 있었지만 크롬에서이 매니페스트를로드 할 수 없습니다. – CaptainBrownBeard

+0

[여기서 대시 XML 유효성 검사기] (http://www-itec.uni-klu.ac.at/dash/?page_id=605)에서 XML을 검사하면 출력이 유효하지 않다는 것을 알 수 있습니다. '하나 이상의 미디어 세그먼트가 존재하면 duration 속성 또는 SegmentTimeline 요소가 존재해야한다.' 그것은 [이 보고서] (https://sourceforge.net/p/gpac/discussion/287547/thread/e701af11/?limit=25) 및이 [그래서 질문] (http://stackoverflow.com)과 관련이있는 것으로 보입니다./questions/31659253/mp4box-multiple-representations-causing-error). dashIF 플레이어가 필요로하기 때문에 여러 표현을 사용하고 있습니다. – CaptainBrownBeard

답변

1

- 시간 - 시프트는이 스트리밍 후 각 구간의 사용 가능한 시간을 의미한다 (60)

로 설정, 예를 들어 0보다 더 높은 값으로 설정 될 필요가있다. 명령을 사용하여

관련 문제