Hi,

I'm trying to record MPEG-DASH live streams using FFmpeg 4.0.2, e.g.

./ffmpeg.exe -v 40 -i 
http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/manifestBR.mpd -c:a 
copy test.aac

The first few fragments are recorded correctly, but then I only get HTTP 404 
responses:

[dash @ 000000000070cc40] Parsing 
'http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/manifestBR.mpd' - 
skipp not supported representation type
[...]
[dash @ 000000000070cc40] DASH request for url 
'http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/83c5debb3328a0e08b8c102b6d5ce378_1_audio_06-init.mp4',
 offset 0, playlist 0
[dash @ 000000000070cc40] Could not read complete fragment.
[dash @ 000000000070cc40] DASH request for url 
'http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/83c5debb3328a0e08b8c102b6d5ce378_1_audio_06-133781.mp4',
 offset 0, playlist 0
[...]
Input #0, dash, from 
'http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/manifestBR.mpd':
  Duration: N/A, start: 267558.240000, bitrate: N/A
  Program 0
    Stream #0:0: Video: h264 (High), 1 reference frame (avc1 / 0x31637661), 
yuv420p(tv, bt709, left), 1280x720 [SAR 1:1 DAR 16:9], 0 kb/s, 25 fps, 25 tbr, 
10000k tbn, 50 tbc
    Metadata:
      variant_bitrate : 2000000
      id              : video_00
    Stream #0:1: Video: h264 (Main), 1 reference frame (avc1 / 0x31637661), 
yuv420p(tv, bt470bg, left), 960x540 (960x544) [SAR 1:1 DAR 16:9], 0 kb/s, 25 
fps, 25 tbr, 10000k tbn, 20000k tbc
    Metadata:
      variant_bitrate : 1800000
      id              : video_01
    Stream #0:2: Video: h264 (Main), 1 reference frame (avc1 / 0x31637661), 
yuv420p(tv, bt470bg, left), 640x360 (640x368) [SAR 1:1 DAR 16:9], 0 kb/s, 25 
fps, 25 tbr, 10000k tbn, 20000k tbc
    Metadata:
      variant_bitrate : 1024000
      id              : video_02
    Stream #0:3: Video: h264 (Main), 1 reference frame (avc1 / 0x31637661), 
yuv420p(tv, bt470bg, left), 512x288 [SAR 1:1 DAR 16:9], 0 kb/s, 25 fps, 25 tbr, 
10000k tbn, 20000k tbc
    Metadata:
      variant_bitrate : 512000
      id              : video_03
    Stream #0:4: Video: h264 (Constrained Baseline), 1 reference frame (avc1 / 
0x31637661), yuv420p(tv, bt470bg, left), 480x270 (480x272) [SAR 1:1 DAR 16:9], 
0 kb/s, 25 fps, 25 tbr, 10000k tbn, 50 tbc
    Metadata:
      variant_bitrate : 256000
      id              : video_04
    Stream #0:5: Video: h264 (Constrained Baseline), 1 reference frame (avc1 / 
0x31637661), yuv420p(tv, bt470bg, left), 320x180 (320x192) [SAR 1:1 DAR 16:9], 
25 fps, 25 tbr, 10000k tbn, 50 tbc
    Metadata:
      variant_bitrate : 128000
      id              : video_05
    Stream #0:6: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 0 
kb/s
    Metadata:
      variant_bitrate : 192000
      id              : audio_06
Output #0, adts, to 'test.aac':
  Metadata:
    encoder         : Lavf58.12.100
    Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 0 
kb/s
    Metadata:
      variant_bitrate : 192000
      id              : audio_06
Stream mapping:
  Stream #0:6 -> #0:0 (copy)
Press [q] to stop, [?] for help
[dash @ 000000000070cc40] No longer receiving stream_index 0
[dash @ 000000000070cc40] No longer receiving stream_index 1
[dash @ 000000000070cc40] No longer receiving stream_index 2
[dash @ 000000000070cc40] No longer receiving stream_index 3
[dash @ 000000000070cc40] No longer receiving stream_index 4
[dash @ 000000000070cc40] No longer receiving stream_index 5
[dash @ 000000000070cc40] DASH request for url 
'http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/83c5debb3328a0e08b8c102b6d5ce378_1_audio_06-133782.mp4',
 offset 0, playlist 0
[dash @ 000000000070cc40] DASH request for url 
'http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/83c5debb3328a0e08b8c102b6d5ce378_1_audio_06-133783.mp4',
 offset 0, playlist 0
[dash @ 000000000070cc40] new fragment: min[133758] max[133783], playlist 0
[dash @ 000000000070cc40] DASH request for url 
'http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/83c5debb3328a0e08b8c102b6d5ce378_1_audio_06-133784.mp4',
 offset 0, playlist 0
[http @ 0000000000792d40] HTTP error 404 Not Found
[dash @ 000000000070cc40] Failed to open fragment of playlist 0
[dash @ 000000000070cc40] new fragment: min[133758] max[133783], playlist 0
[dash @ 000000000070cc40] DASH request for url 
'http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/83c5debb3328a0e08b8c102b6d5ce378_1_audio_06-133785.mp4',
 offset 0, playlist 0
[http @ 0000000000792d40] HTTP error 404 Not Found
[dash @ 000000000070cc40] Failed to open fragment of playlist 0
[dash @ 000000000070cc40] new fragment: min[133758] max[133783], playlist 0
[dash @ 000000000070cc40] DASH request for url 
'http://irtdashreference-i.akamaihd.net/dash/live/901161/bfs/83c5debb3328a0e08b8c102b6d5ce378_1_audio_06-133786.mp4',
 offset 0, playlist 0
[...]

I used wireshark to compare what's happening when using FFmpeg and when using 
the HTML demo player at http://subtitling.irt.de/

FFmpeg tries to read the stream as fast as possible resulting in requests for 
fragments not yet available, while the player requests the next fragment after 
2 seconds. FFmpeg does not retry to read the fragments. It just increases the 
fragment number and tries the next one again and again.

Is there something I'm doing wrong or is this a bug in FFmpeg? I already looked 
into the current sources. The code for MPEG-DASH does not seem to have changed 
since 4.0.2.

Kind regards,
Jörg

_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to