[FFmpeg-trac] #8616(undetermined:new): Distorted audio in RTMP stream
FFmpeg
trac at avcodec.org
Mon Apr 13 15:05:02 EEST 2020
#8616: Distorted audio in RTMP stream
-------------------------------------+-------------------------------------
Reporter: ert55 | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
audio,distortion,rtmp,youtube,rtsp |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
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:
[[Image(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.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8616>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list