Bug 13912

Summary: can't play RTSP streams
Product: Branch 4.0 Reporter: Ivan Zakharyaschev <imz>
Component: libxineAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED WONTFIX QA Contact: Q.A. 4.0 <qa-4.0>
Severity: normal    
Priority: P2 CC: zerg
Version: 4.0   
Hardware: all   
OS: Linux   

Description Ivan Zakharyaschev 2008-01-06 23:02:54 MSK
kaffeine-0.8.5-alt4

Since kaffeine is the only player available on the Desktop 4.0.2 LiveCD, the
lack of support of RTSP makes it impossible to use the LiveCD for watching video
streams (e.g., TV in the LAN).

(I tested these streams with vlc -- vlc plays them.)
Steps to Reproduce:
1. kaffeine rtsp://217.70.16.32:554/Channel1.sdp (to test it, you have to find
an RTSP stream -- sorry, I know only some in my LAN)

Actual Results:  
In a window, it is written:

Не найдено расширение для обработки этого ресурса
(rtsp://217.70.16.32:554/Channel1.sdp)

18:38:50: xine: cannot find input plugin for MRL
[rtsp://217.70.16.32:554/Channel1.sdp]
18:38:50: xine: input plugin cannot open MRL [rtsp://217.70.16.32:554/Channel1.sdp]
18:38:49: xine: found input plugin : rtsp streaming input plugin

In the terminal:

if kaffeine hangs here run 'configure --with-xinit-workaround' and recompile /
reinstall ... ok
0
kaffeine: No DVB device found.
kaffeine: PLAYLIST
kaffeine: PlayList: add 1 items to playlist
kaffeine: PlayList: Check for kaffeine/noatun/m3u/pls/asx playlist
kaffeine: PlayList: Try loading kaffeine playlist
kaffeine: PlaylistImport: kaffeine:
/home/altlinux/.kde/share/apps/kaffeine/playlists/НОВЫЙ.kaffeine
kaffeine: Window manager: KWin found
kaffeine: Kaffeine:: Try to load service: xine_part
kaffeine: This is a KaffeinePart...
kaffeine: XinePart: Creating new XinePart...
kaffeine: XinePart: Using xine-config file:
kaffeine: KXineWidget: Using default config file ~/.xine/config
kaffeine: PlayList: add 1 items to playlist
kaffeine: XinePart::openURL(): rtsp://217.70.16.32:554/Channel1.sdp
kaffeine: XinePart: Got single track
kaffeine: XinePart::slotPlay()
kaffeine: KXineWidget: Xinerama extension present
kaffeine: KXineWidget: 1 screens detected
kaffeine: KXineWidget: Display aspect ratio (v/h): 1
kaffeine: KXineWidget: Using xine version 1.1.7
kaffeine: KXineWidget: Post-init xine engine
kaffeine: KXineWidget: Use audio driver auto
kaffeine: KXineWidget: Use video driver auto
kaffeine: KXineWidget: Init video driver
kaffeine: KXineWidget: Init audio driver
kaffeine: KXineWidget: Init OSD
kaffeine: KXineWidget: Font for OSD: sans
kaffeine: KXineWidget: Unscaled OSD available
kaffeine: KXineWidget: xine init successful
kaffeine: XinePart: load config
kaffeine: Set volume to: 59
kaffeine: KXineWidget: New visualization plugin: goom
kaffeine: PostFilter: Create Postprocessing Filter: tvtime
kaffeine: PostFilter: Parameter: method
kaffeine: PostFilter: Parameter: enabled
kaffeine: PostFilter: Parameter: pulldown
kaffeine: PostFilter: Parameter: framerate_mode
kaffeine: PostFilter: Parameter: judder_correction
kaffeine: PostFilter: Parameter: use_progressive_frame_flag
kaffeine: PostFilter: Parameter: chroma_filter
kaffeine: PostFilter: Parameter: cheap_mode
kaffeine: PostFilter: Get input
kaffeine: PostFilter: Get output
kaffeine: PostFilter: SetConfig
tvtime:method=LinearBlend,enabled=1,pulldown=none,framerate_mode=half_top,judder_correction=0,use_progressive_frame_flag=1,chroma_filter=0,cheap_mode=1
kaffeine: PostFilter: Set parameter 'method' to value 'LinearBlend'
kaffeine: PostFilter: tvtime Apply integer value 2 on offset 0
kaffeine: PostFilter: Set parameter 'enabled' to value '1'
kaffeine: PostFilter: tvtime Apply integer value 1 on offset 4
kaffeine: PostFilter: Set parameter 'pulldown' to value 'none'
kaffeine: PostFilter: tvtime Apply integer value 0 on offset 8
kaffeine: PostFilter: Set parameter 'framerate_mode' to value 'half_top'
kaffeine: PostFilter: tvtime Apply integer value 1 on offset 12
kaffeine: PostFilter: Set parameter 'judder_correction' to value '0'
kaffeine: PostFilter: tvtime Apply integer value 0 on offset 16
kaffeine: PostFilter: tvtime Apply integer value 0 on offset 16
kaffeine: PostFilter: Set parameter 'use_progressive_frame_flag' to value '1'
kaffeine: PostFilter: tvtime Apply integer value 1 on offset 20
kaffeine: PostFilter: Set parameter 'chroma_filter' to value '0'
kaffeine: PostFilter: tvtime Apply integer value 0 on offset 24
kaffeine: PostFilter: Set parameter 'cheap_mode' to value '1'
kaffeine: PostFilter: tvtime Apply integer value 1 on offset 28
kaffeine: PostFilter: tvtime Apply integer value 1 on offset 28
kaffeine: KXineWidget: Deinterlace enabled: 1
kaffeine: PostFilter: Get output
kaffeine: PostFilter: Get input
kaffeine: KXineWidget: Playing: rtsp://217.70.16.32:554/Channel1.sdp
Comment 1 Sergey V Turchin 2008-01-28 19:09:25 MSK
А с libxine-1.1.10-alt1 ?
Comment 2 Ivan Zakharyaschev 2008-01-31 04:25:10 MSK
Нет, всё равно не показывает. 
$ rpm -qa \*kaffeine\*  libxine
libkaffeine-0.8.6-alt1
kaffeine-engine-gstreamer-0.8.6-alt1
libxine-1.1.10-alt1
kaffeine-engine-xine-0.8.6-alt1
kaffeine-0.8.6-alt1
$ 

vlc показывает.
Comment 3 Ivan Zakharyaschev 2008-01-31 04:27:01 MSK
с тем же сообщением.
Comment 4 Sergey V Turchin 2008-01-31 15:09:32 MSK
Все-таки, это скорее xine, т.к. в нем тоже на пашет.
Comment 5 Ivan Zakharyaschev 2008-02-06 00:29:29 MSK
(In reply to comment #4)
> Все-таки, это скорее xine, т.к. в нем тоже на пашет.

Да, так -- проверил у себя.
Comment 6 led 2008-02-06 01:28:06 MSK
Кто-нибудь укажет рабочий MRL, на котором это можно проверить?
Comment 7 Ivan Zakharyaschev 2008-02-12 15:28:15 MSK
(In reply to comment #6)
> Кто-нибудь укажет рабочий MRL, на котором это можно проверить?

Не знаю, можно ли найти рабочее в И-нете, хотя бы потому что этот rtsp может
плохо поддерживаться на шлюзах
(https://bugzilla.altlinux.org/show_bug.cgi?id=13881 ). Но можно сделать тест у
себя так, как написано на http://www.live555.com/liveMedia/#testProgs .

0. отключаю интерфейс и отсоединяю LAN и т.п. для безопасности, и делаю service
iptables stop (чтобы никакие нужные пакеты для теста не блокировались)
1. какой-нибудь тестовый mp3: ln -s .... test.mp3
2. testOnDemandRTSPServer из live555-0.0.0-alt0.2007.11.01; он пишет среди прочего:

"mp3AudioTest" stream, from the file "test.mp3"
Play this stream using the URL "rtsp://0.0.0.0:8554/mp3AudioTest"

3. убеждаемся с помощью vlc-maxi-0.8.6d-alt5, что работает:

$ vlc rtsp://0.0.0.0:8554/mp3AudioTest
VLC media player 0.8.6d Janus
Sending request: OPTIONS rtsp://0.0.0.0:8554/mp3AudioTest RTSP/1.0
CSeq: 1
User-Agent: VLC media player (LIVE555 Streaming Media v2007.10.31)


Received OPTIONS response: RTSP/1.0 200 OK
CSeq: 1
Date: Tue, Feb 12 2008 12:24:49 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE


Sending request: DESCRIBE rtsp://0.0.0.0:8554/mp3AudioTest RTSP/1.0
CSeq: 2
Accept: application/sdp
User-Agent: VLC media player (LIVE555 Streaming Media v2007.10.31)


Received DESCRIBE response: RTSP/1.0 200 OK
CSeq: 2
Date: Tue, Feb 12 2008 12:24:49 GMT
Content-Base: rtsp://127.0.0.1:8554/mp3AudioTest/
Content-Type: application/sdp
Content-Length: 363


Need to read 363 extra bytes
Read 363 extra bytes: v=0
o=- 1202819005534295 1 IN IP4 0.0.0.0
s=Session streamed by "testOnDemandRTSPServer"
i=mp3AudioTest
t=0 0
a=tool:LIVE555 Streaming Media v2007.10.31
a=type:broadcast
a=control:*
a=range:npt=0-512.096
a=x-qt-text-nam:Session streamed by "testOnDemandRTSPServer"
a=x-qt-text-inf:mp3AudioTest
m=audio 0 RTP/AVP 14
c=IN IP4 0.0.0.0
a=control:track1

Unable to determine our source address: This computer has an invalid IP address: 0x0
Unable to determine our source address: This computer has an invalid IP address: 0x0
Sending request: SETUP rtsp://127.0.0.1:8554/mp3AudioTest/track1 RTSP/1.0
CSeq: 3
Transport: RTP/AVP;unicast;client_port=51150-51151
User-Agent: VLC media player (LIVE555 Streaming Media v2007.10.31)


Received SETUP response: RTSP/1.0 200 OK
CSeq: 3
Date: Tue, Feb 12 2008 12:24:49 GMT
Transport:
RTP/AVP;unicast;destination=127.0.0.1;source=127.0.0.1;client_port=51150-51151;server_port=6970-6971
Session: 2


Sending request: PLAY rtsp://127.0.0.1:8554/mp3AudioTest/ RTSP/1.0
CSeq: 4
Session: 2
Range: npt=0.000-
User-Agent: VLC media player (LIVE555 Streaming Media v2007.10.31)


Received PLAY response: RTSP/1.0 200 OK
CSeq: 4
Date: Tue, Feb 12 2008 12:24:49 GMT
Range: npt=0.000-
Session: 2
RTP-Info: url=rtsp://127.0.0.1:8554/mp3AudioTest/track1;seq=60213;rtptime=219040823


4. теперь xine rtsp://0.0.0.0:8554/mp3AudioTest -- не работает, с описанной ошибкой.
Comment 8 led 2008-02-15 23:43:20 MSK
Похоже, libxine (как и mplayer) понимает далеко не всякие RTSP-потоки :(
Предлагаю, всё же, "переименовать" этот багрепорт в фичреквест.
Патчи - бэкпорты поддержки RTSP из vlc в libxine (и mplayer) приветствуются:)
Comment 9 Ivan Zakharyaschev 2008-02-18 22:37:31 MSK
всё началось с того, что понадобилась возможность посомтреть RTSP в LiveCD --
добавил сообщение про это общее пожелание:
https://bugzilla.altlinux.org/show_bug.cgi?id=14574 .
Comment 10 Ivan Zakharyaschev 2008-02-18 22:38:17 MSK
А насчёт severity этого бага -- можно и поменять. Но откуда известно, что про
xine предполагается, что он такие потоки не может играть? У них в
http://xinehq.de/index.php/faq#AEN354 нет упоминания того, что какие-то
RTSP-потоки не должны проигрываться.
Comment 11 led 2008-02-18 22:46:24 MSK
(In reply to comment #10)
> Но откуда известно, что про
> xine предполагается, что он такие потоки не может играть? У них в
> http://xinehq.de/index.php/faq#AEN354 нет упоминания того, что какие-то
> RTSP-потоки не должны проигрываться.

У libxine с mplayer'ом практически идентичный код для RTSP, но mplayer ьолее 
подробно говорит, что именно этот поток он не распознал. 
Попробуйте "mplayer -v"
Comment 12 Sergey V Turchin 2008-11-12 18:19:47 MSK
У меня kaffine играет первую ссылку с http://feetup.org/wiki/MobileRadio
kaffeine-0.8.7-alt3
libxine-1.1.16-alt0.1
Comment 13 Michael Shigorin 2014-11-05 20:15:30 MSK
В 4.0/branch исправления не будут вноситься уже технически (заглушена очередь на сборку), поэтому прошу ошибки, актуальные для sisyphus/p7/t7, перевесить на текущие ветки или сизиф.