Odtwarzanie strumieni asf z onet.tv
: 16 grudnia 2008, 18:35
Nie dziala mi onet.tv, a dokladniej, nie dziala mi odtwarzanie multipidowych strumieni asf, a takie wlasnie onet.tv raczy nam serwowac.
Oto co przez to rozumiem: otoz jak spod konsoli probuje mplayerem odtworzyc taki strumien, na przyklad:
w taki sposob:
to widze:
po czym odtwarza mi sie krotka (moze 3-5 sekund) czolowka ITI (taki niebieski ekran z logo ITI).
Dlaczego tak sie dzieje? Z wyniku wyjścia powyzej widzimy, ze stream ten ma 4 pidy audio i 4 pidy video:
i mplayer wybral do odtwarzania audio pid 4 i video pid 8, a pozostalych najwyrazniej nie zdolal sparsowac. Swiadczy o tym ta sekcja outputu:
I teraz widocznie ta czolowka ITI jest na tych pidach (multipidowe strumienie asf to taki twor, ktory zawiera w sobie jednoczesnie wiele kanalow audio i video i odtwarzajac taki stream powinnismy miec mozliwosc ich zmiany w locie - jak w telewizji cyfrowej).
Teraz, z tego co wiem, mplayer zawsze powinien wybierac do odtwarzania pidy o najwyzszym bitracie, a jezeli uzytkownik chce jakies inne, to ma od tego opcje -aid i -vid. Wiec w ten sposob powinnismy zmusic go do odtwarzania innych:
ale niestety nie dziala to:
i, jak widac po 'Video: no video' powyzej, nic sie nie odtwarza. Jak juz napisalem powyzej, podejrzewam ze to dlatego, ze moja wersja mplayera nie potrafi z jakis powodow poprawnie sparsowac multipidowego asf.
Probujac z vlc dowiadujemy sie nieco wiecej:
jak widac, znowu nie dziala, tym razem z innego powodu (vlc nie moze znalezc kodekow wma2 i WMV3 - dlaczego, jeszcze nie badalem) ale przynajmniej parsuje multipidowa sekcje poprawnie i wybiera do odtwarzania poprawne pidy 1 i 5.
Przy okazji po bitrate wyswietlonych przez VLC mozemy sie domyslac, ze
1) na pidach aud=1 i vid=5 jest najprawdopodobniej wlasciwy strumień najwyzszej jakosci
2) na pidach aud=2 i vid=6 jest ten strumień w wersji ze srednia jakoscia
3) na pidach aud=3 i vid=7 jest najgorsza jakosc
4) na pidach aud=4 i vid=8 jest ta czolowka ITI
*************************************************************************
No i teraz wlasciwe pytanie:
Ja mam mplayera w wersji, jak widac powyzej, dev-SVN-r26940. Architektura AMD64. Zainstalowany z debian-multimedia.org, pakiet:(najnowszy dla wersji Testing AMD64).
Czy komus to dziala? Jak tak, to czy moglby wkleic tu wynik polecenia:i napisac, co ma za wersje mplayera i skad ja wzial?
Oto co przez to rozumiem: otoz jak spod konsoli probuje mplayerem odtworzyc taki strumien, na przyklad:
Kod: Zaznacz cały
http://www.onet.tv/29052,31668,1,4300080,1,1,wideo.html
Kod: Zaznacz cały
mplayer [url]http://www.onet.tv/29052,31668,1,4300080,1,1,wideo.html[/url]
Kod: Zaznacz cały
leszek@utumno:~/MusikK/Rock$ mplayer mms://stream1.onet.pl/media.wsx?/info/200812/2d0b8bd79e.wmv
MPlayer dev-SVN-r26940
CPU: AMD Athlon(tm) 64 Processor 3500+ (Family: 15, Model: 47, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing mms://stream1.onet.pl/media.wsx?/info/200812/2d0b8bd79e.wmv.
STREAM_ASF, URL: mms://stream1.onet.pl/media.wsx?/info/200812/2d0b8bd79e.wmv
Resolving stream1.onet.pl for AF_INET...
Connecting to server stream1.onet.pl[212.244.48.33]: 1755...
Connected
file object, packet length = 2888 (2888)
unknown object
unknown object
unknown object
stream object, stream ID: 4
stream object, stream ID: 8
unknown object
data object
mmst packet_length = 2888
Cache size set to 64 KBytes
Cache fill: 0.00% (0 bytes)
ASF file format detected.
[asfheader] Audio stream found, -aid 1
[asfheader] Audio stream found, -aid 2
[asfheader] Audio stream found, -aid 3
[asfheader] Video stream found, -vid 5
[asfheader] Video stream found, -vid 6
[asfheader] Video stream found, -vid 7
[asfheader] Audio stream found, -aid 4
[asfheader] Video stream found, -vid 8
VIDEO: [WMV3] 160x120 24bpp 1000.000 fps 24.0 kbps ( 2.9 kbyte/s)
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
open: No such file or directory
[MGA] Couldn't open: /dev/mga_vid
[VO_TDFXFB] Can't open /dev/fb0: No such file or directory.
s3fb: can't open /dev/fb0: No such file or directory
===============================================
Requested video codec family [wmv9dmo] (vfm=dmo) not available.
Enable it at compilation.
Requested video codec family [wmvdmo] (vfm=dmo) not available.
Enable it at compilation.
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffwmv3] vfm: ffmpeg (FFmpeg WMV3/WMV9)
===============================================
===============================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 11025 Hz, 1 ch, s16le, 8.0 kbit/4.55% (ratio: 1003->22050)
Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
===============================================
AO: [alsa] 48000Hz 1ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 160 x 120 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 160x120 => 160x120 Planar YV12
Everything done. Thank you for downloading a media file containing proprietary and patented technology.
A: 5.9 V: 5.9 A-V: -0.001 ct: -0.046 30/ 30 5% 0% 27.3% 0 0 0%
Exiting... (End of file)
Dlaczego tak sie dzieje? Z wyniku wyjścia powyzej widzimy, ze stream ten ma 4 pidy audio i 4 pidy video:
Kod: Zaznacz cały
[asfheader] Audio stream found, -aid 1
[asfheader] Audio stream found, -aid 2
[asfheader] Audio stream found, -aid 3
[asfheader] Video stream found, -vid 5
[asfheader] Video stream found, -vid 6
[asfheader] Video stream found, -vid 7
[asfheader] Audio stream found, -aid 4
[asfheader] Video stream found, -vid 8
Kod: Zaznacz cały
unknown object
unknown object
unknown object
stream object, stream ID: 4
stream object, stream ID: 8
unknown object
Teraz, z tego co wiem, mplayer zawsze powinien wybierac do odtwarzania pidy o najwyzszym bitracie, a jezeli uzytkownik chce jakies inne, to ma od tego opcje -aid i -vid. Wiec w ten sposob powinnismy zmusic go do odtwarzania innych:
Kod: Zaznacz cały
mplayer -aid 1 -vid 5 [url]http://www.onet.tv/29052,31668,1,4300080,1,1,wideo.html[/url]
Kod: Zaznacz cały
leszek@utumno:~/MusikK/Rock$ mplayer -aid 1 -vid 5 mms://stream1.onet.pl/media.wsx?/info/200812/2d0b8bd79e.wmv
MPlayer dev-SVN-r26940
CPU: AMD Athlon(tm) 64 Processor 3500+ (Family: 15, Model: 47, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing mms://stream1.onet.pl/media.wsx?/info/200812/2d0b8bd79e.wmv.
STREAM_ASF, URL: mms://stream1.onet.pl/media.wsx?/info/200812/2d0b8bd79e.wmv
Resolving stream1.onet.pl for AF_INET...
Connecting to server stream1.onet.pl[212.244.48.33]: 1755...
Connected
file object, packet length = 2888 (2888)
unknown object
unknown object
unknown object
stream object, stream ID: 4
stream object, stream ID: 8
unknown object
data object
mmst packet_length = 2888
Cache size set to 64 KBytes
Cache fill: 12.50% (8192 bytes)
ASF file format detected.
[asfheader] Audio stream found, -aid 1
[asfheader] Audio stream found, -aid 2
[asfheader] Audio stream found, -aid 3
[asfheader] Video stream found, -vid 5
[asfheader] Video stream found, -vid 6
[asfheader] Video stream found, -vid 7
[asfheader] Audio stream found, -aid 4
[asfheader] Video stream found, -vid 8
Everything done. Thank you for downloading a media file containing proprietary and patented technology.
ASF: No video stream found.
===============================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 1 ch, s16le, 20.0 kbit/2.84% (ratio: 2501->88200)
Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
===============================================
AO: [alsa] 48000Hz 1ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 5.9 (05.8) of 6.0 (06.0) 0.3% 0%
Exiting... (End of file)
Probujac z vlc dowiadujemy sie nieco wiecej:
Kod: Zaznacz cały
leszek@utumno:~/MusikK/Rock$ vlc mms://stream1.onet.pl/media.wsx?/info/200812/2d0b8bd79e.wmv
VLC media player 0.8.6h Janus
[00000291] access_mms access: selecting stream[0x1] audio (22 kb/s)
[00000291] access_mms access: ignoring stream[0x2] audio (18 kb/s)
[00000291] access_mms access: ignoring stream[0x3] audio (18 kb/s)
[00000291] access_mms access: ignoring stream[0x4] audio (10 kb/s)
[00000291] access_mms access: selecting stream[0x5] video (276 kb/s)
[00000291] access_mms access: ignoring stream[0x6] video (192 kb/s)
[00000291] access_mms access: ignoring stream[0x7] video (94 kb/s)
[00000291] access_mms access: ignoring stream[0x8] video (34 kb/s)
[00000291] access_mms access: connection successful
[00000296] main decoder error: no suitable decoder module for fourcc `wma2'.
VLC probably does not support this sound or video format.
[00000337] main decoder error: no suitable decoder module for fourcc `WMV3'.
VLC probably does not support this sound or video format.
[00000279] main playlist: stopping playback
Przy okazji po bitrate wyswietlonych przez VLC mozemy sie domyslac, ze
1) na pidach aud=1 i vid=5 jest najprawdopodobniej wlasciwy strumień najwyzszej jakosci
2) na pidach aud=2 i vid=6 jest ten strumień w wersji ze srednia jakoscia
3) na pidach aud=3 i vid=7 jest najgorsza jakosc
4) na pidach aud=4 i vid=8 jest ta czolowka ITI
*************************************************************************
No i teraz wlasciwe pytanie:
Ja mam mplayera w wersji, jak widac powyzej, dev-SVN-r26940. Architektura AMD64. Zainstalowany z debian-multimedia.org, pakiet:
Kod: Zaznacz cały
leszek@utumno:~/MusikK/Rock$ dpkg -l | grep mplayer
ii mplayer 1:1.0.rc2svn20080706-0.1 The Ultimate Movie Player For Linux
Czy komus to dziala? Jak tak, to czy moglby wkleic tu wynik polecenia:
Kod: Zaznacz cały
mplayer mms://stream1.onet.pl/media.wsx?/info/200812/2d0b8bd79e.wmv