Opened 4 years ago

Last modified 4 years ago

#9918 new defect

Reading/Saving DASH live stream is laggy

Reported by: mrskman Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
Saving DASH live stream results in laggy video.

How to reproduce:

ffmpeg -re -i 'https://livesim.dashif.org/livesim/periods_20/testpic_2s/Manifest.mpd' -y test.mp4
ffmpeg version 5.1.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/opt/ffmpeg/5.1.1/build --cc= --cxx= --objcc= --dep-cc= --extra-cflags=' -I/usr/local/cuda-11.7/include' --extra-cxxflags= --extra-ldflags='-Wl,-rpath,/opt/ffmpeg/5.1.1/build/lib -L/opt/ffmpeg/5.1.1/build/lib -Wl,-rpath,/usr/local/cuda-11.7/lib64 -L/usr/local/cuda-11.7/lib64' --bindir=/opt/ffmpeg/5.1.1/build/bin --enable-shared --disable-static --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-cuda-nvcc --enable-gpl --enable-libaom --enable-libfdk-aac --enable-libmp3lame --enable-libnpp --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-nonfree --enable-nvdec --enable-nvenc --enable-openssl --enable-rpath --enable-version3
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, dash, from 'https://livesim.dashif.org/livesim/periods_20/testpic_2s/Manifest.mpd':
  Metadata:
    Title           : Media Presentation Description from DASH-IF live simulator
  Duration: N/A, start: 1662761184.066667, bitrate: N/A
  Program 0 
  Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360, 30 fps, 30 tbr, 90k tbn (default)
    Metadata:
      variant_bitrate : 300000
      id              : V300
  Stream #0:1(en): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp (default)
    Metadata:
      variant_bitrate : 48000
      id              : A48
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x55b125a2c800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x55b125a2c800] profile Progressive High, level 3.0, 4:2:0, 8-bit
[libx264 @ 0x55b125a2c800] 264 - core 157 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=11 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'test.mp4':
  Metadata:
    Title           : Media Presentation Description from DASH-IF live simulator
    encoder         : Lavf59.27.100
  Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 640x360, q=2-31, 30 fps, 15360 tbn (default)
    Metadata:
      variant_bitrate : 300000
      id              : V300
      encoder         : Lavc59.37.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
  Stream #0:1(en): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      variant_bitrate : 48000
      id              : A48
      encoder         : Lavc59.37.100 aac
frame= 1124 fps= 28 q=29.0 size=     256kB time=00:00:35.94 bitrate=  58.4kbits/s dup=540 drop=0 speed=0.909x    

Try to play the resulting test.mp4 file. It is not as smooth as the source. Video periodically hangs.

Change History (1)

comment:1 by mrskman, 4 years ago

It looks like that ffmpeg "skips" every 2nd fragment and that is the reason why I get 60 duplicated frames every 2 seconds (output video hangs for 2 seconds).

Note: See TracTickets for help on using tickets.