[FFmpeg-trac] #8436(undetermined:new): ffmpeg sets opus audio to stereo in SDP even though it is mono
FFmpeg
trac at avcodec.org
Fri Dec 27 11:03:22 EET 2019
#8436: ffmpeg sets opus audio to stereo in SDP even though it is mono
-------------------------------------+-------------------------------------
Reporter: | Owner:
rudolfs.bundulis |
Type: defect | Status: new
Priority: minor | Component:
| undetermined
Version: unspecified | Resolution:
Keywords: opus rtsp | Blocked By:
sdp |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by rudolfs.bundulis):
{{{
./ffmpeg -i /Users/rudolfs/Downloads/mono_opus_sample.mp4 -c:v h264 -c:a
opus -strict -2 -rtsp_transport tcp -f rtsp rtsp://localhost:554/app/live
-loglevel verbose
ffmpeg version N-96159-gb0d0d7e4d0 Copyright (c) 2000-2019 the FFmpeg
developers
built with Apple clang version 11.0.0 (clang-1100.0.33.16)
configuration: --prefix=/usr/local --enable-gpl --enable-libx264
--enable-libopus
libavutil 56. 37.100 / 56. 37.100
libavcodec 58. 65.100 / 58. 65.100
libavformat 58. 35.101 / 58. 35.101
libavdevice 58. 9.101 / 58. 9.101
libavfilter 7. 69.101 / 7. 69.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Routing option strict to both codec and muxer layer
[h264 @ 0x7feb79002c00] Reinit context to 320x240, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'/Users/rudolfs/Downloads/mono_opus_sample.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.29.100
Duration: 00:00:02.07, start: 0.000000, bitrate: 107 kb/s
Stream #0:0(und): Audio: opus (Opus / 0x7375704F), 48000 Hz, mono,
fltp, delay 120, 48 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream #0:1(und): Video: h264 (High), 1 reference frame (avc1 /
0x31637661), yuv420p(left), 320x240 [SAR 4:3 DAR 16:9], 48 kb/s, 30 fps,
30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : GPAC ISO Video Handler
Matched encoder 'libx264' for codec 'h264'.
Stream mapping:
Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:0 -> #0:1 (opus (native) -> opus (native))
Press [q] to stop, [?] for help
[h264 @ 0x7feb78829a00] Reinit context to 320x240, pix_fmt: yuv420p
[graph_1_in_0_0 @ 0x7feb76d089c0] tb:1/48000 samplefmt:fltp
samplerate:48000 chlayout:0x4
[graph 0 input from stream 0:1 @ 0x7feb76d0f7c0] w:320 h:240
pixfmt:yuv420p tb:1/15360 fr:30/1 sar:4/3 sws_param:flags=2
[libx264 @ 0x7feb78815e00] using SAR=4/3
[libx264 @ 0x7feb78815e00] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7feb78815e00] profile High, level 1.3
[libx264 @ 0x7feb78815e00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC
codec - Copyleft 2003-2018 - 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=7
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
[tcp @ 0x7feb76d13780] Starting connection attempt to 127.0.0.1 port 554
[tcp @ 0x7feb76d13780] Successfully connected to 127.0.0.1 port 554
[rtsp @ 0x7feb78817a00] SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 127.0.0.1
t=0 0
a=tool:libavformat 58.35.101
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-
sets=Z2QADazZQUH7DhAAAAMAEAAAAwPA8UKZYA==,aOvjyyLA; profile-level-
id=64000D
a=control:streamid=0
m=audio 0 RTP/AVP 97
b=AS:48
a=rtpmap:97 opus/48000/2
a=control:streamid=1
Output #0, rtsp, to 'rtsp://localhost:554/app/live':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.35.101
Stream #0:0(und): Video: h264 (libx264), 1 reference frame,
yuv420p(left), 320x240 [SAR 4:3 DAR 16:9], q=-1--1, 30 fps, 90k tbn, 30
tbc (default)
Metadata:
handler_name : GPAC ISO Video Handler
encoder : Lavc58.65.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
Stream #0:1(und): Audio: opus, 48000 Hz, mono, fltp, delay 120, 48
kb/s (default)
Metadata:
handler_name : SoundHandler
encoder : Lavc58.65.100 opus
No more output streams to write to, finishing.
frame= 62 fps=0.0 q=-1.0 Lsize=N/A time=00:00:02.00 bitrate=N/A
speed=22.9x
video:12kB audio:12kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
Input file #0 (/Users/rudolfs/Downloads/mono_opus_sample.mp4):
Input stream #0:0 (audio): 101 packets read (12221 bytes); 101 frames
decoded (96840 samples);
Input stream #0:1 (video): 62 packets read (12460 bytes); 62 frames
decoded;
Total: 163 packets (24681 bytes) demuxed
Output file #0 (rtsp://localhost:554/app/live):
Output stream #0:0 (video): 62 frames encoded; 62 packets muxed (11900
bytes);
Output stream #0:1 (audio): 807 frames encoded (96840 samples); 101
packets muxed (12221 bytes);
Total: 163 packets (24121 bytes) muxed
[libx264 @ 0x7feb78815e00] frame I:1 Avg QP: 3.56 size: 65
[libx264 @ 0x7feb78815e00] frame P:26 Avg QP:20.19 size: 371
[libx264 @ 0x7feb78815e00] frame B:35 Avg QP:17.63 size: 43
[libx264 @ 0x7feb78815e00] consecutive B-frames: 16.1% 22.6% 9.7% 51.6%
[libx264 @ 0x7feb78815e00] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x7feb78815e00] mb P I16..4: 3.1% 0.1% 1.0% P16..4: 2.3%
1.0% 1.1% 0.0% 0.0% skip:91.4%
[libx264 @ 0x7feb78815e00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.5%
0.3% 0.3% direct: 0.2% skip:98.7% L0:47.0% L1:47.4% BI: 5.6%
[libx264 @ 0x7feb78815e00] 8x8 transform intra:0.6% inter:29.8%
[libx264 @ 0x7feb78815e00] coded y,uvDC,uvAC intra: 8.7% 14.2% 13.0%
inter: 0.9% 1.7% 1.1%
[libx264 @ 0x7feb78815e00] i16 v,h,dc,p: 92% 1% 7% 0%
[libx264 @ 0x7feb78815e00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 0% 6% 38% 12%
0% 25% 6% 12% 0%
[libx264 @ 0x7feb78815e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 50% 21% 12% 3%
3% 5% 2% 2% 2%
[libx264 @ 0x7feb78815e00] i8c dc,h,v,p: 88% 4% 8% 1%
[libx264 @ 0x7feb78815e00] Weighted P-Frames: Y:15.4% UV:11.5%
[libx264 @ 0x7feb78815e00] ref P L0: 83.1% 4.8% 6.9% 5.1%
[libx264 @ 0x7feb78815e00] ref B L0: 80.1% 7.2% 12.8%
[libx264 @ 0x7feb78815e00] kb/s:43.40
[opus @ 0x7feb78818000] Average Intensity Stereo band: 21.0
[opus @ 0x7feb78818000] Dual Stereo used: 0.00%
[AVIOContext @ 0x7feb76e00840] Statistics: 27752 bytes read, 0 seeks
}}}
This is the output from git head, as you can see the issue is still
present - the stream is listed as mono:
{{{
Stream #0:0(und): Audio: opus (Opus / 0x7375704F), 48000 Hz, mono, fltp,
delay 120, 48 kb/s (default)
}}}
but advertised as stereo in sdp:
{{{
a=rtpmap:97 opus/48000/2
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8436#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list