[FFmpeg-trac] #2002(avformat:closed): mms streaming always requests all streams

FFmpeg trac at avcodec.org
Sat Feb 2 14:52:41 CET 2013


#2002: mms streaming always requests all streams
-------------------------------------+-------------------------------------
             Reporter:  gjdfgh       |                    Owner:
                 Type:  defect       |                   Status:  closed
             Priority:  normal       |                Component:  avformat
              Version:  git-master   |               Resolution:
             Keywords:  mms          |  needs_more_info
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------

Comment (by gjdfgh):

 {{{
 $ ffmpeg -i mmsh://wm.microsoft.com/ms/evnet/Vista_Diagnostics_s_ch9.wmv
 out.mkv
 ffmpeg version 1.0.3 Copyright (c) 2000-2012 the FFmpeg developers
   built on Jan 24 2013 14:52:18 with gcc 4.7 (Debian 4.7.2-5)
   configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' --extra-
 ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-
 libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-
 pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-
 x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-
 nonfree --disable-stripping --enable-libvpx --enable-libschroedinger
 --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg
 --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-
 aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus
 --libdir=/usr/lib/i386-linux-gnu --disable-vda --enable-libbluray
 --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl
 --enable-libass --enable-libopus --enable-fontconfig --enable-libdc1394
 --disable-altivec --disable-armv5te --disable  libavutil      51. 73.101 /
 51. 73.101
   libavcodec     54. 59.100 / 54. 59.100
   libavformat    54. 29.104 / 54. 29.104
   libavdevice    54.  2.101 / 54.  2.101
   libavfilter     3. 17.100 /  3. 17.100
   libswscale      2.  1.101 /  2.  1.101
   libswresample   0. 15.100 /  0. 15.100
   libpostproc    52.  0.100 / 52.  0.100
 [asf @ 0x8091a60] max_analyze_duration 5000000 reached at 5184000
 Guessed Channel Layout for  Input Stream #0.0 : stereo
 Guessed Channel Layout for  Input Stream #0.1 : stereo
 Guessed Channel Layout for  Input Stream #0.4 : stereo
 Input #0, asf, from
 'mmsh://wm.microsoft.com/ms/evnet/Vista_Diagnostics_s_ch9.wmv':
   Metadata:
     title           : Title
     artist          : Author
     comment         : Description
     WMFSDKVersion   : 10.00.00.3708
     WMFSDKNeeded    : 0.0.0.0000
     IsVBR           : 0
   Duration: 00:57:44.92, start: 0.000000, bitrate: N/A
     Stream #0:0(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 32000 Hz,
 stereo, s16, 40 kb/s
     Stream #0:1(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 16000 Hz,
 stereo, s16, 16 kb/s
     Stream #0:2(eng): Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p,
 320x240, 291 kb/s, 30 tbr, 1k tbn, 1k tbc
     Stream #0:3(eng): Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p,
 240x180, 86 kb/s, 30 tbr, 1k tbn, 1k tbc
     Stream #0:4(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 8000 Hz, stereo,
 s16, 12 kb/s
     Stream #0:5(eng): Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p,
 160x120, 40 kb/s, 30 tbr, 1k tbn, 1k tbc
 [libx264 @ 0x8090300] using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
 [libx264 @ 0x8090300] profile High, level 1.3
 [libx264 @ 0x8090300] 264 - core 129 - H.264/MPEG-4 AVC codec - Copyleft
 2003-2013 - 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=3
 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, matroska, to 'out.mkv':
   Metadata:
     title           : Title
     artist          : Author
     comment         : Description
     WMFSDKVersion   : 10.00.00.3708
     WMFSDKNeeded    : 0.0.0.0000
     IsVBR           : 0
     encoder         : Lavf54.29.104
     Stream #0:0(eng): Video: h264, yuv420p, 320x240, q=-1--1, 1k tbn, 30
 tbc
     Stream #0:1(eng): Audio: vorbis, 32000 Hz, stereo, flt
 Stream mapping:
   Stream #0:2 -> #0:0 (wmv3 -> libx264)
   Stream #0:0 -> #0:1 (wmav2 -> libvorbis)
 Press [q] to stop, [?] for help
 [libvorbis @ 0x8077be0] Que input is backward in time
 [matroska @ 0x808fc40] st:0 PTS: 146 DTS: 146 < 178 invalid, clipping
 [output stream 0:1 @ 0x80796a0] 100 buffers queued in output stream 0:1,
 something may be wrong.
 [libvorbis @ 0x8077be0] Que input is backward in time
     Last message repeated 7 times
 Que input is backward in timeze=      43kB time=00:00:05.66 bitrate=
 62.5kbits/s
 [libvorbis @ 0x8077be0] Que input is backward in time
     Last message repeated 1 times
 Que input is backward in timeze=     107kB time=00:00:07.69 bitrate=
 114.2kbits/s
 Que input is backward in timeze=     139kB time=00:00:08.54 bitrate=
 133.5kbits/s
 [libvorbis @ 0x8077be0] Que input is backward in time
 Que input is backward in timeze=     203kB time=00:00:10.16 bitrate=
 163.7kbits/s
 Que input is backward in timeze=     247kB time=00:00:10.59 bitrate=
 191.0kbits/s
 Que input is backward in timeze=     279kB time=00:00:11.43 bitrate=
 199.8kbits/s
 [matroska @ 0x808fc40] st:0 PTS: 11519 DTS: 11519 < 11543 invalid,
 clipping
 [matroska @ 0x808fc40] st:0 PTS: 11537 DTS: 11537 < 11543 invalid,
 clipping
 [libvorbis @ 0x8077be0] Que input is backward in time
 [matroska @ 0x808fc40] st:0 PTS: 11903 DTS: 11903 < 11927 invalid,
 clipping
 [matroska @ 0x808fc40] st:0 PTS: 11907 DTS: 11907 < 11927 invalid,
 clipping
 [matroska @ 0x808fc40] st:0 PTS: 11911 DTS: 11911 < 11927 invalid,
 clipping
 [matroska @ 0x808fc40] st:0 PTS: 11915 DTS: 11915 < 11927 invalid,
 clipping
 [matroska @ 0x808fc40] st:0 PTS: 11919 DTS: 11919 < 11927 invalid,
 clipping
 [matroska @ 0x808fc40] st:0 PTS: 11923 DTS: 11923 < 11927 invalid,
 clipping
 Que input is backward in timeze=     279kB time=00:00:12.34 bitrate=
 185.1kbits/s
 Que input is backward in timeze=     279kB time=00:00:12.51 bitrate=
 182.6kbits/s
 Que input is backward in timeze=     311kB time=00:00:13.10 bitrate=
 194.4kbits/s
 [libvorbis @ 0x8077be0] Que input is backward in time
 Que input is backward in timeze=     399kB time=00:00:14.00 bitrate=
 233.4kbits/s
 [libvorbis @ 0x8077be0] Que input is backward in time
 Que input is backward in timeze=     431kB time=00:00:14.91 bitrate=
 236.6kbits/s
 frame=  359 fps= 34 q=18194992.0 Lsize=     510kB time=00:00:15.90
 bitrate= 262.8kbits/s
 video:345kB audio:154kB subtitle:0 global headers:4kB muxing overhead
 1.551715%
 [libx264 @ 0x8090300] frame I:2     Avg QP:21.32  size: 19023
 [libx264 @ 0x8090300] frame P:174   Avg QP:24.51  size:  1680
 [libx264 @ 0x8090300] frame B:183   Avg QP:31.61  size:   119
 [libx264 @ 0x8090300] consecutive B-frames: 25.9%  9.5% 26.7% 37.9%
 [libx264 @ 0x8090300] mb I  I16..4:  1.7% 69.2% 29.2%
 [libx264 @ 0x8090300] mb P  I16..4:  0.4%  1.2%  0.1%  P16..4: 44.3%  7.7%
 6.3%  0.0%  0.0%    skip:40.1%
 [libx264 @ 0x8090300] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8: 27.1%  0.7%
 0.2%  direct: 0.2%  skip:71.8%  L0:36.9% L1:55.4% BI: 7.7%
 [libx264 @ 0x8090300] 8x8 transform intra:71.4% inter:71.6%
 [libx264 @ 0x8090300] coded y,uvDC,uvAC intra: 76.5% 84.6% 35.1% inter:
 13.6% 8.0% 0.8%
 [libx264 @ 0x8090300] i16 v,h,dc,p: 28% 24% 27% 21%
 [libx264 @ 0x8090300] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 26% 29%  3%  2%
 3%  3%  9%  5%
 [libx264 @ 0x8090300] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 23% 11%  7%  6%
 6%  7% 13%  8%
 [libx264 @ 0x8090300] i8c dc,h,v,p: 53% 24% 17%  6%
 [libx264 @ 0x8090300] Weighted P-Frames: Y:0.6% UV:0.0%
 [libx264 @ 0x8090300] ref P L0: 73.8% 17.8%  6.9%  1.5%  0.0%
 [libx264 @ 0x8090300] ref B L0: 92.5%  7.0%  0.5%
 [libx264 @ 0x8090300] ref B L1: 93.5%  6.5%
 [libx264 @ 0x8090300] kb/s:235.45
 Received signal 2: terminating.
 }}}

 You can see there are 3 pairs of video and audio streams. They contain the
 same video/audio in different quality, and I suppose the reason for this
 is saving bandwidth and getting realtime playback depending on the user's
 connection. libavformat should disable the streams that are not selected
 by the application. At least I think it doesn't do that, judging from the
 code. Demonstrating how mplayer actually saves bandwidth by disabling the
 other streams is hard.

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2002#comment:3>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list