[MPlayer-users] How to choose a substream in an ASF webcam streaming ?

Christian Tsotras 7070 at free.fr
Sat Dec 4 18:28:08 CET 2004


Hello.

I'm trying to view this online webcam:

  http://wms1.earthcam.com/times

It works very well with Windows Media player on WinXP (with Internet by
my enterprise LAN) by choosing the maximum bitrate available (141kbps)
and showing a window around 300x200.

But at home with mplayer/Linux (Redhat 9) it always chooses the lowest
bitrate(21 kbps, 160x120, bad quality).

With mplayer, I can see four streams in the flow:

mplayer -cache 32 -v -frames 1 http://wms1.earthcam.com/times
[...]
============ ASF Stream group == START ===
 object size = 50
 stream count=[0x4][4]
   stream id=[0x1][1]
   max bitrate=[0x5279][21113]
   stream id=[0x2][2]
   max bitrate=[0x2399][9113]
   stream id=[0x3][3]
   max bitrate=[0x1eaee][125678]
   stream id=[0x4][4]
   max bitrate=[0x50c6][20678]
============ ASF Stream group == END ===
[...]
==> Found video stream: 4


But mplayer only receives the stream #4. Using the option "-vid 3"
shows nothing, as mplayer doesn't ask for it.


Does someone know how can I do to tell the server to send
another stream ?
Is it a problem in WMV9 codec ?


I've looked in manpage, FAQs, docs, newsgroups, web, but didn't find anything.

Thank you for any help.




Here are full logs:

$ mplayer -cache 32 -v -frames 1 mms://wms1.earthcam.com/times
MPlayer 1.0pre5-RPM-3.2.2 (C) 2000-2004 MPlayer Team

CPU: Intel Pentium III Katmai/Pentium III Xeon Tanner 554.1 MHz (Family: 6, Stepping: 3)
Detected cache-line size is 32 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
Compiled with runtime CPU detection - WARNING - this is not optimal!
To get best performance, recompile MPlayer with --disable-runtime-cpudetection.
Reading config file /etc/mplayer/mplayer.conf
Reading config file /home/cts/.mplayer/config
Reading /home/cts/.mplayer/codecs.conf: Can't open '/home/cts/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: 73 audio & 180 video codecs
CommandLine: '-cache' '32' '-v' '-frames' '1' 'mms://wms1.earthcam.com/times'
init_freetype
get_path('font/font.desc') -> '/home/cts/.mplayer/font/font.desc'
font: can't open file: /home/cts/.mplayer/font/font.desc
font: can't open file: /usr/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/home/cts/.mplayer/input.conf'
Can't open input config file /home/cts/.mplayer/input.conf: No such file or directory
Parsing input config file /etc/mplayer/input.conf
Input config file /etc/mplayer/input.conf parsed: 53 binds
get_path('times.conf') -> '/home/cts/.mplayer/times.conf'

Playing mms://wms1.earthcam.com/times.
Filename for url is now mms://wms1.earthcam.com/times
Filename for url is now mms://wms1.earthcam.com/times
Trying ASF/UDP...
  ===> ASF/UDP failed
Trying ASF/TCP...
Resolving wms1.earthcam.com for AF_INET...
Connecting to server wms1.earthcam.com[65.200.140.51]:1755 ...
connected
unknown object
unknown object
file object, packet length = 2888 (2888)
unknown object
stream object, stream id: 2
stream object, stream id: 4
unknown object
unknown object
data object
mmst packet_length = 2888
Cache size set to 32 KBytes
Connected to server: wms1.earthcam.com
CACHE_PRE_INIT: 0 [0] 0  pre:6553  eof:0  
Cache fill:  0.00% (0 bytes)    ASF file format detected.

 Title: EarthCam Times Square
 Author: EarthCam Inc.
 Copyright: EarthCam 2004
 Comment: EarthCam Live from Times Square
 Rating: N/A

============ ASF Stream group == START ===
 object size = 50
 stream count=[0x4][4]
   stream id=[0x1][1]
   max bitrate=[0x5279][21113]
   stream id=[0x2][2]
   max bitrate=[0x2399][9113]
   stream id=[0x3][3]
   max bitrate=[0x1eaee][125678]
   stream id=[0x4][4]
   max bitrate=[0x50c6][20678]
============ ASF Stream group == END ===
ASF: packets: -1  flags: 9  max_packet_size: 2888  min_packet_size: 2888  max_bitrate: 29791  preroll: 5000
stream type: guid_audio_stream
stream concealment: guid_audio_conceal_interleave
type: 28 bytes,  stream: 8 bytes  ID: 2
unk1: 0  unk2: 6CCE6200
FILEPOS=0xD20
==> Found audio stream: 2
======= WAVE Format =======
Format Tag: 353 (0x161)
Channels: 1
Samplerate: 8000
avg byte/sec: 1000
Block align: 320
bits/sample: 16
cbSize: 10
Unknown extra header dump: [0] [22] [0] [0] [26] [0] [80] [7] [0] [0] 
===========================
ASF: audio scrambling: 1 x 1 x 320
stream type: guid_video_stream
stream concealment: unknown guid 0057fb20-555b-cf11-a8fd00805f5c442b
type: 55 bytes,  stream: 0 bytes  ID: 4
unk1: 0  unk2: 6CCE6200
FILEPOS=0xD92
==> Found video stream: 4
======= VIDEO Format ======
  biSize 44
  biWidth 160
  biHeight 120
  biPlanes 1
  biBitCount 24
  biCompression 861293911='WMV3'
  biSizeImage 0
Unknown extra header dump: [46] [9] [1a] [1] 
===========================
Found movie at 0xF89 - 0xF89
ASF: 1 audio and 1 video streams found
Auto-selected ASF video ID = 4
Auto-selected ASF audio ID = 2
VIDEO:  [WMV3]  160x120  24bpp
ASF: Searching for audio stream (id:2).
[V] filefmt:6  fourcc:0x33564D57  size:160x120  fps:1000.00  ftime:=0.0010
Clip info:
 name: EarthCam Times Square
 author: EarthCam Inc.
 copyright: EarthCam 2004
 comments: EarthCam Live from Times Square
get_path('sub/') -> '/home/cts/.mplayer/sub/'
get_path('default.sub') -> '/home/cts/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
dec_audio: Allocating 131072 + 65536 = 196608 bytes for output buffer.
FFmpeg's libavcodec audio codec
INFO: libavcodec init OK!
AUDIO: 8000 Hz, 1 ch, 16 bit (0x10), ratio: 1000->16000 (8.0 kbit)
Selected audio codec: [ffwmav2] afm:ffmpeg (DivX audio v2 (ffmpeg))
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1600x1200 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Detected wm supports layers.
[x11] Current fstype setting honours LAYER X atoms
==========================================================================
Opening video decoder: [dmo] DMO video codecs
External func OLEAUT32.dll:8
get_path('registry') -> '/home/cts/.mplayer/registry'
DMO dll supports VO Optimizations 0 1
DMO dll might use previous sample when requested
GetOutput r=0x0   size:57600  align:1
StreamCount r=0x0  1  1
Decoder supports the following YUV formats: YV12 YUY2 UYVY YVYU      
Decoder is capable of YUV output (flags 0x1b)
VDec: vo config request - 160 x 120 (preferred csp: Packed YUY2)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO Config (160x120->160x120,flags=0,'MPlayer',0x32315659)
VO: [xv] 160x120 => 160x120 Planar YV12 
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel at goldbach.in-berlin.de> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x30323449 (I420) planar
Xvideo image format: 0x59565955 (UYVY) packed
using Xvideo port 69 for hw scaling
[xv] dx: 0 dy: 0 dw: 160 dh: 120
INFO: Win32/DMO video codec init OK.
Selected video codec: [wmv9dmo] vfm:dmo (Windows Media Video 9 DMO)
==========================================================================
Checking audio filter chain for 8000Hz/1ch/16bit -> 8000Hz/2ch/16bit...
[libaf] Adding filter dummy 
[dummy] Was reinitialized, rate=8000Hz, nch = 1, format = 0x00000001 and bps = 2
AF_pre: af format: 2 bps, 1 ch, 8000 hz, little endian signed int 
AF_pre: 8000Hz 1ch Signed 16-bit (Little-Endian)
ao2: 8000 Hz  2 chans  Signed 16-bit (Little-Endian)
audio_setup: using '/dev/dsp' dsp device
audio_setup: using '/dev/mixer' mixer device
audio_setup: using 'pcm' mixer device
audio_setup: Can't open audio device /dev/dsp: Device or resource busy
SDL: Samplerate: 8000Hz Channels: Stereo Format Signed 16-bit (Little-Endian)
SDL: buf size = 4096
AO: [sdl] 8000Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
AO: Description: SDLlib audio output
AO: Author: Felix Buenemann <atmosfear at users.sourceforge.net>
Building audio filter chain for 8000Hz/1ch/16bit -> 8000Hz/2ch/16bit...
[dummy] Was reinitialized, rate=8000Hz, nch = 1, format = 0x00000001 and bps = 2
[libaf] Adding filter channels 
[channels] Changing number of channels to 2
[dummy] Was reinitialized, rate=8000Hz, nch = 1, format = 0x00000001 and bps = 2
Starting playback...
[libaf] Reallocating memory in module channels, old len = 0, new len = 32770

avg. framerate: 16 fps             
*** [vo] Allocating mp_image_t, 160x120x12bpp YUV planar, 28800 bytes
get_path('subfont.ttf') -> '/home/cts/.mplayer/subfont.ttf'
Unicode font: 533 glyphs.
[xv] dx: 0 dy: 0 dw: 160 dh: 120
EOF code: 1  851534.2 A-V: -0.510 ct: -0.006    2/  2   0%  0%  0.0% 1 0 18%

Uninit audio filters...
[libaf] Removing filter dummy 
[libaf] Removing filter channels 
uninit audio: ffmpeg
uninit video: dmo
DEMUXER: freeing demuxer at 0x85e2520  
DEMUXER: freeing sh_audio at 0x85e3af8  
DEMUXER: freeing sh_video at 0x85e3ba0  
SDL: Audio Subsystem shutting down!
vo: uninit ...

Exiting... (End of file)



-- 
Christian Tsotras - http://www.photo.net/photos/cts




More information about the MPlayer-users mailing list