Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to play VOD files VP9 + DASH in mp4 container #1560

Open
avelnars opened this issue Jan 22, 2025 · 0 comments
Open

Unable to play VOD files VP9 + DASH in mp4 container #1560

avelnars opened this issue Jan 22, 2025 · 0 comments

Comments

@avelnars
Copy link

We are trying to play media files encoded with ffmpeg with VP9+OPUS codec using DASH streaming.
The video file container is mp4.
Initially we tried to use a standard mp4 container (not fragmented) with moovatom at the beginning of the file. Got the following error output in the logs among other things:

2025/01/22 16:19:01 [debug] 2235067#2235067: *38 mp4_parser_parse_atoms: atom name=stco, size=130772
2025/01/22 16:19:01 [debug] 2235067#2235067: *38 mp4_parser_parse_stsd_atom: extra data 00 00 00 14 76 70 63 43 01 00 00 00 00 28 80 02 02 02 00 00 00 00 00 0a 66 69 65 6c 01 00 00 00 00 10 70 61 73 70 00 00 00 01 00 00 00 01 00 00 00 14 62 74 72 74 00 00 00 00 00 55 73 00 00 21 ba 49
2025/01/22 16:19:01 [debug] 2235067#2235067: *38 mp4_parser_parse_atoms: atom name=vpcC, size=20
2025/01/22 16:19:01 [debug] 2235067#2235067: *38 mp4_parser_parse_atoms: atom name=fiel, size=10
2025/01/22 16:19:01 [debug] 2235067#2235067: *38

Here we got the manifest.mpd file:

<?xml version="1.0"?>
<MPD
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:mpeg:dash:schema:mpd:2011"
xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd"
type="static"
mediaPresentationDuration="PT1362.042S" 
minBufferTime="PT10S"
 profiles="urn:mpeg:dash:profile:isoff-live:2011">
 <Period>
 <AdaptationSet
 id="1"
 segmentAlignment="true"
 maxWidth="1920"
 maxHeight="1080"
 maxFrameRate="24">
 <SegmentTemplate
 timescale="1000"
 media="https://vod-edge-03.cyxym.net/edge_hdd/ldr_test_vp9.mp4/fragment-$Number$-$RepresentationID$.webm"
 initialization="https://vod-edge-03.cyxym.net/edge_hdd/ldr_test_vp9.mp4/init-$RepresentationID$.webm"
 duration="10000"
 startNumber="1">
 </SegmentTemplate>
 <Representation
 id="v1-x3"
 mimeType="video/webm"
 codecs="vp9"
 width="1920"
 height="1080"
 frameRate="24"
 sar="1:1"
 startWithSAP="1"
 bandwidth="2210377">
 </Representation>
 </AdaptationSet>
 <AdaptationSet
 id="2"
 segmentAlignment="true">
 <AudioChannelConfiguration
 schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011"
 value="1"/>
 <SegmentTemplate
 timescale="1000"
media="https://vod-edge-03.cyxym.net/edge_hdd/ldr_test_vp9.mp4/fragment-$Number$-$RepresentationID$.webm"
initialization="https://vod-edge-03.cyxym.net/edge_hdd/ldr_test_vp9.mp4/init-$RepresentationID$.webm"
duration="10000"
startNumber="1">
</SegmentTemplate>
<Representation
id="a1-x3"
mimeType="audio/webm"
codecs="opus"
audioSamplingRate="48000"
startWithSAP="1"
bandwidth="85922">
</Representation>
</AdaptationSet>
</Period>
</MPD>

Then we tried to use a fragmented mp4 container with these ffmpeg options:

ffmpeg -i input_vp9.mp4 -c copy -movflags dash+faststart output_vp9_dash.mp4

nevertheless we get an error in the stsd atom:

2025/01/22 17:18:08 [debug] 2243979#2243979: *38 mp4_parser_parse_stsd_atom: extra data 00 00 00 13 64 4f 70 73 00 02 01 38 00 00 bb 80 00 00 00 00 00 14 62 74 72 74 00 00 00 00 00 01 4f a2 00 01 4f a2

And here we get Bad request:

<head><title>400 Bad Request</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<hr><center>openresty/1.27.1.1</center>
</body>
</html>

ngix_vod_module settings are:

vod dash;
vod_align_segments_to_key_frames on;

vod_dash_manifest_format segmenttemplate;

vod_dash_profiles urn:mpeg:dash:profile:isoff-live:2011;

Please help us understand this issue, what are we doing wrong?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant