Opened 4 years ago

Last modified 4 years ago

#8616 new defect

Distorted audio in RTMP stream

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

Description

I'm trying to push an IP camera RTSP stream to youtube like so:

% ffmpeg -rtsp_transport tcp -i "rtsp://**********************" -codec copy -f flv rtmp://x.rtmp.youtube.com/live2/****************
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.1.1 (GCC) 20190807
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 33.100 / 56. 33.100
  libavcodec     58. 55.101 / 58. 55.101
  libavformat    58. 31.104 / 58. 31.104
  libavdevice    58.  9.100 / 58.  9.100
  libavfilter     7. 58.101 /  7. 58.101
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, rtsp, from 'rtsp://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx':
  Metadata:
    title           : Media Server
  Duration: N/A, start: 0.040000, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 1280x720, 12 fps, 25 tbr, 90k tbn, 24 tbc
    Stream #0:1: Audio: aac (LC), 32000 Hz, mono, fltp
Output #0, flv, to 'rtmp://x.rtmp.youtube.com/live2/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx':
  Metadata:
    title           : Media Server
    encoder         : Lavf58.31.104
    Stream #0:0: Video: h264 (Main) ([7][0][0][0] / 0x0007), yuvj420p(pc, bt709, progressive), 1280x720, q=2-31, 12 fps, 25 tbr, 1k tbn, 90k tbc
    Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 32000 Hz, mono, fltp
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[flv @ 000000000310d540] Non-monotonous DTS in output stream 0:0; previous: 557, current: 120; changing to 557. This may result in incorrect timestamps in the output file.
[flv @ 000000000310d540] Non-monotonous DTS in output stream 0:0; previous: 557, current: 200; changing to 557. This may result in incorrect timestamps in the output file.
[flv @ 000000000310d540] Non-monotonous DTS in output stream 0:0; previous: 557, current: 320; changing to 557. This may result in incorrect timestamps in the output file.
[flv @ 000000000310d540] Non-monotonous DTS in output stream 0:0; previous: 557, current: 400; changing to 557. This may result in incorrect timestamps in the output file.
[flv @ 000000000310d540] Non-monotonous DTS in output stream 0:0; previous: 557, current: 480; changing to 557. This may result in incorrect timestamps in the output file.
frame=    7 fps=0.0 q=-1.0 size=      74kB time=00:00:00.56 bitrate=1079.1kbits/s speed=1.06x    
frame=   25 fps= 19 q=-1.0 size=     188kB time=00:00:02.08 bitrate= 741.5kbits/s speed=1.61x    
frame=   49 fps= 22 q=-1.0 size=     330kB time=00:00:04.08 bitrate= 661.9kbits/s speed=1.83x    
frame=   67 fps= 25 q=-1.0 size=     392kB time=00:00:05.66 bitrate= 567.3kbits/s speed=2.07x    
frame=   72 fps= 22 q=-1.0 size=     410kB time=00:00:06.06 bitrate= 553.9kbits/s speed=1.84x    
frame=   76 fps= 20 q=-1.0 size=     488kB time=00:00:06.38 bitrate= 626.5kbits/s speed=1.67x    
frame=   86 fps= 20 q=-1.0 size=     519kB time=00:00:07.26 bitrate= 585.5kbits/s speed=1.68x    
frame=   92 fps= 19 q=-1.0 size=     538kB time=00:00:07.74 bitrate= 569.5kbits/s speed= 1.6x    
frame=   97 fps= 17 q=-1.0 size=     618kB time=00:00:08.11 bitrate= 623.8kbits/s speed=1.45x    
frame=  108 fps= 18 q=-1.0 size=     658kB time=00:00:09.02 bitrate= 597.6kbits/s speed=1.48x    
frame=  114 fps= 17 q=-1.0 size=     679kB time=00:00:09.50 bitrate= 585.3kbits/s speed=1.44x    
frame=  120 fps= 17 q=-1.0 size=     698kB time=00:00:10.02 bitrate= 570.5kbits/s speed=1.41x    
frame=  121 fps= 16 q=-1.0 size=     764kB time=00:00:10.09 bitrate= 619.8kbits/s speed=1.32x    
frame=  132 fps= 16 q=-1.0 size=     802kB time=00:00:11.01 bitrate= 596.7kbits/s speed=1.35x    
frame=  138 fps= 16 q=-1.0 size=     820kB time=00:00:11.57 bitrate= 580.6kbits/s speed=1.34x    
frame=  144 fps= 16 q=-1.0 size=     841kB time=00:00:12.05 bitrate= 571.5kbits/s speed=1.32x    
frame=  149 fps= 15 q=-1.0 size=     923kB time=00:00:12.45 bitrate= 606.8kbits/s speed=1.29x    
frame=  157 fps= 15 q=-1.0 size=     949kB time=00:00:13.13 bitrate= 592.0kbits/s speed=1.28x    
frame=  163 fps= 15 q=-1.0 size=     969kB time=00:00:13.65 bitrate= 581.3kbits/s speed=1.27x    
frame=  169 fps= 15 q=-1.0 size=    1051kB time=00:00:14.09 bitrate= 610.9kbits/s speed=1.22x    
frame=  180 fps= 15 q=-1.0 size=    1091kB time=00:00:15.05 bitrate= 593.6kbits/s speed=1.24x    
frame=  187 fps= 15 q=-1.0 size=    1113kB time=00:00:15.61 bitrate= 583.8kbits/s speed=1.23x    
frame=  192 fps= 15 q=-1.0 size=    1130kB time=00:00:16.05 bitrate= 576.7kbits/s speed=1.21x    
frame=  197 fps= 14 q=-1.0 size=    1212kB time=00:00:16.45 bitrate= 603.2kbits/s speed= 1.2x    
frame=  206 fps= 14 q=-1.0 size=    1241kB time=00:00:17.17 bitrate= 592.1kbits/s speed= 1.2x    
frame=  213 fps= 14 q=-1.0 size=    1265kB time=00:00:17.77 bitrate= 582.8kbits/s speed= 1.2x    
frame=  217 fps= 14 q=-1.0 size=    1340kB time=00:00:18.09 bitrate= 606.6kbits/s speed=1.16x    
frame=  228 fps= 14 q=-1.0 size=    1380kB time=00:00:19.05 bitrate= 593.4kbits/s speed=1.18x    
frame=  234 fps= 14 q=-1.0 size=    1399kB time=00:00:19.57 bitrate= 585.6kbits/s speed=1.17x    
frame=  240 fps= 14 q=-1.0 size=    1418kB time=00:00:20.05 bitrate= 579.4kbits/s speed=1.16x    
[flv @ 000000000310d540] Failed to update header with correct duration.
[flv @ 000000000310d540] Failed to update header with correct filesize.
frame=  241 fps= 14 q=-1.0 Lsize=    1486kB time=00:00:20.05 bitrate= 606.8kbits/s speed=1.14x    
video:1317kB audio:153kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.058846%
Exiting normally, received signal 2.

The problem is the audio being distorted on youtube's end. I've recorded the audio and looked at the waveform. Gaps and audible parts are 7ms and 32ms long each respectively as shown below:
https://i.ibb.co/Hrk1qGB/audio-distortion.jpg

I've tried many parameters both for the input as well as the output, including transcoding the audio, all to no avail. What's strange is that when I output the stream to a file the audio is fine.

Change History (1)

comment:1 by Carl Eugen Hoyos, 4 years ago

Keywords: audio distortion rtmp youtube rtsp removed

Is the issue only reproducible with network input or also with file input?
Is the issue only reproducible with network output or did you also try to reproduce with file output?

Note: See TracTickets for help on using tickets.