[vlc-devel] [RFC] Opening network stream

Rémi Denis-Courmont remi at remlab.net
Thu Feb 26 19:15:33 CET 2009


I don't know how to put it nicely so... I really find the open network stream 
dialog has had its time. It's simply confusing and ugly. The list of 
protocols is too long, yet not even complete. At least RTP/TCP, RTP/DCCP and 
raw TCP are currently missing; and RTSPS and FTPS might need to be added 
later. Even if you know the protocol names, the use of the dialog is 

For HTTP, HTTPS, MMS, FTP and RTSP (and would-be RTSPS and FTPS), the user is 
far more likely to have a full URL. Automatically adding the protocol prefix 
in front of the specified "address" is confusing. The term "address" is plain 
wrong. And it is silly to ask the user for the protocol through the dropdown 
list when the URL would already contain the information.

By the way, my browsers (yes, plural) have a "Open Location" or "Open URL" 
option. I daresay "Paste MRL" while it is quite nifty, has a terrible name. 
Users are more likely to know URL or location (I don't know which is best), 
not the VideoLAN-specific MRL term. Also, that entry should probably be in 
the same menu section as the open... options rather than with discovery 

I don't know about RTMP, but I guess the same would apply. Then again, if _I_ 
have never seen a RTMP location, I wonder how many people ever have. Does 
Flash have a standard way to give a RTMP location?

That leaves RTP and UDP. I have a lot of problem with these.
First, UDP is a bad misnomer for UDP/TS, since RTP is over UDP too. Second, 
UDP/TS is legacy and RTP is our current "blessed" multicasting protocol. Yet 
users are a lot more likely to know what "UDP" means than "RTP". Hence 
they'll pick the _wrong_ one. Admittedly, this is rather a streaming output 
problem though (and "prefer UDP over RTP" is really a poor choice of name for 
the sout checkbox). Third non-UDP transports for RTP cannot be selected. 
Forth, users tend to confuse the source and destination address in that 
field, especially when unicasting. Fifth, you cannot do SSM. Sixth, the 
default port number doesn't match the default RTP port. And last, it makes 
people believe that they can open any "RTP" stream, which is totally untrue. 
You can only a single RTP _elementary_ stream (i.e. a single RTP session in 
IETF RFC3550 parliance), and then, only if the payload type is one of the old 
static payload types.

In practice, this RTP stuff is really only useful for old audio codecs, and 
for MPEG TS. Forget about modern codecs or A/V streams with native (non-TS) 
RTP encapsulation. In those cases, a SDP is needed. It can come from SAP, 
RTSP or a file (or SIP but VLC doesn't do that).

All in all, I wonder how many people do -succesfully- type in the IP address 
and port number manually in that dialog.

I would really remove the open network dialog/tab completely. Then I'd widden, 
rename and move the Paste MRL dialog. And if we really want RTP and/or UDP 
helpers, we can add a forth button to that dialog, but I think we should skip 
that and encourage people to use RTSP, SAP and/or SDP-over-HTTP.

Rémi Denis-Courmont

More information about the vlc-devel mailing list