mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
28.55k stars 2.92k forks source link

rtsp error 461 with freebox stream #5540

Closed zezinho42 closed 6 years ago

zezinho42 commented 6 years ago

I am trying to play a stream which works with vlc and ffplay.

In mpv 0.27.1 I get a ffmpeg/demuxer error. (I cannot try 0.28 version as ffmpeg is not recent enough).

Stream is a direct TV given by a french interne provider

Log below :

[cplayer] Playing: rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=hd [ffmpeg] Opening rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=hd [ffmpeg] Stream opened successfully. [demux] Trying demuxers for level=request. [cplayer] Run command: disable-section, flags=0, args=[input] [global] config path: 'fonts' -/-> '/home/live/.config/mpv/fonts' [global] config path: 'fonts' -/-> '/home/live/.mpv/fonts' [global] config path: 'fonts' -/-> '/etc/mpv/fonts' [osd/libass] Shaper: FriBidi 0.19.7 (SIMPLE) [global] config path: 'subfont.ttf' -/-> '/home/live/.config/mpv/subfont.ttf' [global] config path: 'subfont.ttf' -/-> '/home/live/.mpv/subfont.ttf' [global] config path: 'subfont.ttf' -/-> '/etc/mpv/subfont.ttf' [global] config path: 'fonts.conf' -/-> '/home/live/.config/mpv/fonts.conf' [global] config path: 'fonts.conf' -/-> '/home/live/.mpv/fonts.conf' [global] config path: 'fonts.conf' -/-> '/etc/mpv/fonts.conf' [osd/libass] Setting up fonts... [lavf] Found 'rtsp' at score=100 size=0 (forced). [ffmpeg/demuxer] rtsp: SDP: [ffmpeg/demuxer] v=0 [ffmpeg/demuxer] o=leCDN 1518807555 1518807555 IN IP4 kapoueh.proxad.net [ffmpeg/demuxer] s=unknown [ffmpeg/demuxer] i=unknown [ffmpeg/demuxer] c=IN IP4 0.0.0.0 [ffmpeg/demuxer] t=0 0 [ffmpeg/demuxer] m=video 0 RTP/AVP 33 [ffmpeg/demuxer] a=control:rtsp://mafreebox.freebox.fr:554/fbxtv_pub/stream?namespace=1&service=201&flavour=hd [ffmpeg/demuxer] [ffmpeg/demuxer] rtsp: method SETUP failed: 461 Unsupported Transport

wiiaboo commented 6 years ago

Try it with ffmpeg/ffplay?

zezinho42 commented 6 years ago

It works with ffplay :

$ffplay "rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=hd" ffplay version 3.3.6 Copyright (c) 2003-2017 the FFmpeg developers built with gcc 5.4.0 (Mageia 5.4.0-5.mga6) configuration: --prefix=/usr --enable-shared --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include --disable-stripping --enable-postproc --enable-gpl --enable-pthreads --enable-libtheora --enable-libvorbis --disable-encoder=vorbis --enable-libvpx --enable-runtime-cpudetect --enable-libdc1394 --enable-libschroedinger --enable-librtmp --enable-libspeex --enable-libfreetype --enable-libnut --enable-libgsm --enable-libcelt --enable-libopus --enable-libopencv --enable-libopenjpeg --enable-libtwolame --enable-libxavs --enable-frei0r --enable-libmodplug --enable-libass --enable-gnutls --enable-libcdio --enable-libpulse --enable-libv4l2 --enable-avresample --enable-opencl --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libx264 --enable-libx265 --enable-libvo-amrwbenc --enable-libxvid libavutil 55. 58.100 / 55. 58.100 libavcodec 57. 89.100 / 57. 89.100 libavformat 57. 71.100 / 57. 71.100 libavdevice 57. 6.100 / 57. 6.100 libavfilter 6. 82.100 / 6. 82.100 libavresample 3. 5. 0 / 3. 5. 0 libswscale 4. 6.100 / 4. 6.100 libswresample 2. 7.100 / 2. 7.100 libpostproc 54. 5.100 / 54. 5.100 Input #0, rtsp, from 'rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=hd': Metadata: title : unknown comment : unknown Duration: N/A, start: 73960.402789, bitrate: N/A Program 19486 Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(top first), 1440x1080 [SAR 4:3 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:2(fra): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 140 kb/s Stream #0:4(qad): Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 57 kb/s Stream #0:3(qaa): Audio: aac (HE-AAC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 54 kb/s Stream #0:0(fre,fre,fre): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006) No codec could be found with id 94215 [aac @ 0x7fdacc8e6d40] Number of bands (26) exceeds limit (19). [h264 @ 0x7fdacc32e220] co located POCs unavailableq= 0B f=0/0
[h264 @ 0x7fdacc1a7a60] mmco: unref short failure [h264 @ 0x7fdacc1b1de0] co located POCs unavailablesq= 0B f=0/0
73962.51 A-V: -0.010 fd= 1 aq= 11KB vq= 461KB sq= 0B f=0/0

xantoz commented 6 years ago

Try with --rtsp-transport=lavf (I think this will do something similar to what ffplay does, re: the transport) or --rtsp-transport=udp to force UDP.

The server seems to be complaining about using an unsupported transport. mpv defaults to forcing TCP, while ffplay in my experience will usually pick UDP.

ghost commented 6 years ago

That's correct. When this was changed, TCP apparently worked much better. But it was a long time ago, when mpv checked network only every video frame, and UDP packet drop could be extreme.

zezinho42 commented 6 years ago

Thanks, this works. I suppose mpv could try to change RTSP transport by itself so that end users don't get stuck?