[vlc-devel] [RFC] Opening network stream
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.
More information about the vlc-devel