Hi all and thanks in advance for your responses. I've run into an issue where 
decoding audio adds roughly 100ms of delay to the entire decode. Simply adding 
the "-an" flag to either the encode/decode immediately takes 100ms off the 
overall latency. For reference I'm doing a capture from a decklink card and 
hardware encoding the video out to a UDP stream, which is then wrapped in an 
SRT stream. I'm not sure if it is of any consequence, but with "-loglevel 
debug" enabled the stream output for the opus encoder states "delay 120", like 
so:

Stream #0:1, 0, 1/90000: Audio: opus (libopus), 48000 Hz, stereo, s16, delay 
120, 128 kb/s

 I can't find where this "delay" is coming from, how it is calculated, and any 
change I make to the setting of libupos can never reduce this "delay" below 
120. I should say that I had the same issue with other audio codecs as well. 

Does anyone have any idea where this 100ms is coming from?

Encoding:

sudo ffmpeg -f decklink -duplex_mode half -format_code Hp50 -queue_size 4976640 
-i "DeckLink Duo (1)" -c:v h264_qsv -b:v 6M -maxrate 6M -preset veryslow -bf 0 
-refs 1 -c:a libopus -b:a 128k -compression_level 0 -frame_duration 20 
-application lowdelay -f mpegts  "udp://127.0.0.1:1234?pkt_size=1316"

SRT Wrap:

srt-live-transmit udp://:1234 
"srt://10.0.3.5:1235?mode=listener&pkt_size=1316&latency=0"

Decode with audio:

ffplay -fast -fflags nobuffer -flags low_delay -framedrop -strict experimental 
"srt://10.0.3.5:1235?mode=caller&latency=0"

Decode no audio:

ffplay -fast -fflags nobuffer -flags low_delay -framedrop -strict experimental 
-an "srt://10.0.3.5:1235?mode=caller&latency=0"

Encode Output:

sudo ffmpeg -f decklink -duplex_mode half -format_code Hp50 -queue_size 4976640 
-i "DeckLink Duo (1)" -c:v h264_qsv -b:v 6M -maxrate 6M -preset veryslow -bf 0 
-refs 1 -c:a libopus -b:a 128k -compression_level 0 -frame_duration 20 
-application lowdelay -f mpegts  "udp://127.0.0.1:1234?pkt_size=1316"
ffmpeg version N-98687-g6e951d0cf8 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static 
--extra-cflags='-I/root/ffmpeg_build/include 
-I/home/max/ffmpeg_sources/BMD_SDK/include' 
--extra-ldflags='-L/root/ffmpeg_build/lib 
-L$/home/max/ffmpeg_sources/BMD_SDK/include' --extra-libs='-lpthread -lm' 
--bindir=/root/bin --enable-libmfx --enable-gpl --enable-gnutls --enable-libass 
--enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus 
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 
--enable-libsrt --enable-decklink --enable-libvmaf --enable-nonfree
  libavutil      56. 58.100 / 56. 58.100
  libavcodec     58.100.100 / 58.100.100
  libavformat    58. 50.100 / 58. 50.100
  libavdevice    58. 11.101 / 58. 11.101
  libavfilter     7. 87.100 /  7. 87.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
[decklink @ 0x55b52ce07140] Found Decklink mode 1920 x 1080 with rate 50.00
[decklink @ 0x55b52ce07140] Frame received (#1) - No input signal detected - 
Frames dropped 1
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, decklink, from 'DeckLink Duo (1)':
  Duration: N/A, start: 0.000000, bitrate: 1660416 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
    Stream #0:1: Video: rawvideo (UYVY / 0x59565955), uyvy422(progressive), 
1920x1080, 1658880 kb/s, 50 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:1 -> #0:0 (rawvideo (native) -> h264 (h264_qsv))
  Stream #0:0 -> #0:1 (pcm_s16le (native) -> opus (libopus))
Press [q] to stop, [?] for help
Output #0, mpegts, to 'udp://127.0.0.1:1234?pkt_size=1316':
  Metadata:
    encoder         : Lavf58.50.100
    Stream #0:0: Video: h264 (h264_qsv), nv12(progressive), 1920x1080, q=-1--1, 
6000 kb/s, 50 fps, 90k tbn, 50 tbc
    Metadata:
      encoder         : Lavc58.100.100 h264_qsv
    Side data:
      cpb: bitrate max/min/avg: 6000000/0/6000000 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: opus (libopus), 48000 Hz, stereo, s16, 128 kb/s
    Metadata:
      encoder         : Lavc58.100.100 libopus

Thanks in advance, Max


_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to