[FFmpeg-devel] Ffmpeg/ffprobe not work well with a DASH stream

Steven Liu lingjiujianke at gmail.com
Fri Nov 18 13:26:24 EET 2022


Chang, Xiangzhong <xiangzhong.chang at telia.no> 于2022年11月17日周四 22:00写道:
>
> Hi,
>
> Thank you so much for this amazing project. I’ve found this project has been extremely useful for me.
> I’ve found out that ffmpeg/ffplay does not work well with one of our DASH streams. In comparison, I’ve tried the following players
>
>   1.  ExoPlayer
>   2.  DASH-JS player<https://reference.dashif.org/dash.js/v4.5.1/samples/dash-if-reference-player/index.html>
>   3.  Bitmovin JS player<https://bitmovin.com/demos/stream-test?format=dash&manifest=https%3A%2F%2Fdirector.livecdn.teliaplay.net%2Fnotvm%2Fmso%2FTV_1HD%2Fdash%2Fmanifest.mpd>
>
> I was using the following script trying to probe/transcoding one of our DASH stream.
> ```
> ffprobe_g  -loglevel debug "https://director.livecdn.teliaplay.net/notvm/mso/TV_1HD/dash/manifest.mpd?abs_begin=2022-11-16T08:00:00Z&is_live&no_dolby"

(base) liuqi05:ffmpeg liuqi$
~/multimedia/upstream_ffmpeg/ufbuild/ffprobe
"https://director.livecdn.teliaplay.net/notvm/mso/TV_1HD/dash/manifest.mpd?abs_begin=2022-11-16T08:00:00Z&is_live&no_dolby"
ffprobe(70115,0x113793600) malloc: nano zone abandoned due to
inability to preallocate reserved vm space.
ffprobe version N-109033-g86157f5a25 Copyright (c) 2007-2022 the
FFmpeg developers
  built with Apple clang version 13.1.6 (clang-1316.0.21.2.5)
  configuration: --prefix=/usr/local/ --libdir=/usr/local/lib/
--cc=clang --enable-htmlpages --enable-libx264 --enable-gpl
--extra-ldflags='-I/usr/local/opt/openssl/include/ -O0 -g3
-fsanitize=address -Wno-error -fPIC -I/usr/local/include'
--extra-ldflags='-O0 -g3 -fsanitize=address -Wno-error -fPIC
-L/usr/local/lib -L/usr/local/opt/openssl/lib' --enable-libfreetype
--enable-fontconfig --enable-libspeex --enable-libopus --enable-libzmq
--enable-libx265 --enable-libass --enable-videotoolbox
--disable-optimizations --enable-audiotoolbox --enable-opengl
--disable-stripping --samples=../../fate-suite/
--enable-encoder=hevc_videotoolbox --enable-hwaccel=hevc_videotoolbox
--enable-hwaccel=h264_videotoolbox --enable-openssl --enable-nonfree
--disable-shared --enable-libfdk_aac --enable-libxml2
--enable-libmp3lame --enable-libaom
  libavutil      57. 42.100 / 57. 42.100
  libavcodec     59. 52.100 / 59. 52.100
  libavformat    59. 34.101 / 59. 34.101
  libavdevice    59.  8.101 / 59.  8.101
  libavfilter     8. 50.100 /  8. 50.100
  libswscale      6.  8.112 /  6.  8.112
  libswresample   4.  9.100 /  4.  9.100
  libpostproc    56.  7.100 / 56.  7.100
[dash @ 0x617000000080] DTS discontinuity in stream 0: packet 99 with
DTS 150189356926262, packet 100 with DTS 150189360168062
Input #0, dash, from
'https://director.livecdn.teliaplay.net/notvm/mso/TV_1HD/dash/manifest.mpd?abs_begin=2022-11-16T08:00:00Z&is_live&no_dolby':
  Duration: N/A, start: 1668770630.554022, bitrate: N/A
  Program 0
  Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn (default)
    Metadata:
      variant_bitrate : 5000000
      id              : video-stream-1
  Stream #0:1: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
bt709), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn (default)
    Metadata:
      variant_bitrate : 3000000
      id              : video-stream-2
  Stream #0:2: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv,
bt709), 1024x576 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn (default)
    Metadata:
      variant_bitrate : 1750000
      id              : video-stream-3
  Stream #0:3: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv,
bt709), 640x360 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn (default)
    Metadata:
      variant_bitrate : 1000000
      id              : video-stream-4
  Stream #0:4: Video: h264 (Constrained Baseline) (avc1 / 0x31637661),
yuv420p(tv, bt709), 448x252 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k
tbn (default)
    Metadata:
      variant_bitrate : 300000
      id              : video-stream-5
  Stream #0:5(nor): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp (default)
    Metadata:
      variant_bitrate : 192000
      id              : audio-stream-1
(base) liuqi05:ffmpeg liuqi$


> ```
>
> The following log have drawn my attention. It seems like ffprobe has failed to download some file chunks.
> ```
> [dash @ 0x55b477e86880] DASH request for url 'https://director.livecdn.teliaplay.net/notvm/mso/TV_1HD/dash/video-stream-1-150182387590546.mp4', offset 0
> [tcp @ 0x55b477f09080] Starting connection attempt to 84.208.9.142 port 443
> [tcp @ 0x55b477f09080] Successfully connected to 84.208.9.142 port 443
> [tcp @ 0x55b477ed0f00] Starting connection attempt to 84.208.9.21 port 443
> [tcp @ 0x55b477ed0f00] Successfully connected to 84.208.9.21 port 443
> [https @ 0x55b477eee1c0] HTTP error 404 Not Found
> ```
>
> However, when I was using wget to download it, all works out
> ```
> hhk9417 at HC994R6KQD:~/Desktop$ wget https://director.livecdn.teliaplay.net/notvm/mso/TV_1HD/dash/video-stream-1-150182387590546.mp4
> --2022-11-17 14:53:30--  https://director.livecdn.teliaplay.net/notvm/mso/TV_1HD/dash/video-stream-1-150182387590546.mp4
> Resolving director.livecdn.teliaplay.net (director.livecdn.teliaplay.net)... 84.208.9.75, 84.208.9.76, 84.208.9.141, ...
> Connecting to director.livecdn.teliaplay.net (director.livecdn.teliaplay.net)|84.208.9.75|:443... connected.
> HTTP request sent, awaiting response... 302 Found
> Location: https://m323-cdne01.livecdn.teliaplay.net/notvm/mso/TV_1HD/dash/video-stream-1-150182387590546.mp4 [following]
> --2022-11-17 14:53:30--  https://m323-cdne01.livecdn.teliaplay.net/notvm/mso/TV_1HD/dash/video-stream-1-150182387590546.mp4
> Resolving m323-cdne01.livecdn.teliaplay.net (m323-cdne01.livecdn.teliaplay.net)... 84.208.9.21
> Connecting to m323-cdne01.livecdn.teliaplay.net (m323-cdne01.livecdn.teliaplay.net)|84.208.9.21|:443... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: 1293307 (1,2M) [video/mp4]
> Saving to: ‘video-stream-1-150182387590546.mp4’
>
> video-stream-1-150182387590546.mp4              100%[=====================================================================================================>]   1,23M  --.-KB/s    in 0,02s
>
> 2022-11-17 14:53:30 (50,8 MB/s) - ‘video-stream-1-150182387590546.mp4’ saved [1293307/1293307]
> ```
>
> Regarding the FFmpeg SDK, I’m using the latest master branch, I’ve compiled it from scratch. The following are my compilation configs
> ```
> --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex --enable-shared --enable-pthreads --enable-vaapi --enable-ffplay --disable-stripping --enable-debug=3 --enable-libopus --enable-libv4l2 --enable-zlib --enable-vaapi --enable-pthreads --enable-vdpau --enable-xlib --enable-libv4l2 --enable-libfreetype --enable-demuxer=dash --enable-libxml2 --enable-libaom --enable-libx265 --enable-openssl"
> #define FFMPEG_LICENSE "nonfree and unredistributable
> ```
>
> Cheers.
>
>
>
>
> This email may contain information which is privileged or protected against unauthorized disclosure or communication. If you are not the intended recipient, please notify the sender and delete this message and any attachments from your system without producing, distributing or retaining copies thereof or disclosing its contents to any other person.
>
> Telia Company processes emails and other files that may contain personal data in accordance with Telia Company’s Privacy Policy<https://www.teliacompany.com/en/about-the-company/privacy/>.
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list