I'm trying to stream (multicast) a x264 encoded file using VLC. This in itself succeeds, but the stream has a huge lot of artifacts. This seems to suggest that the data cannot be transported fast enough. If I check network usage, though, it's only using about 15 mbit.
I have a similar SD stream which functions perfectly. I think I could improve stream performance by not streaming the raw data, but I cannot seem to get this working. It seems that on keyframes all artifacts are removed for a short while (less than a second).
This is the command I use:
vlc -vv hdtest.mkv --sout '#duplicate{dst=rtp{dst=ff02::1%eth1,mux=ts,port=5678,sap,group="Testgroup",name="TeststreamHD"}}' --loop
Which is all one long line.
I really do not want to transcode the stream. In the future this box would have to offer multiple streams. We're talking about a P4 2,8 gHz with 2 GBs of memory.
It's probably packet loss. Are your switches optimizing multicast or just flooding the traffic out all ports?
You can transcode the stream - I use something like
#transcode{vcodec=h264,venc=x264{keyint=15},acodec=mpga,vb=2500,ab=128}:std{mux=ts,access=udp,dst=x.x.x.x}
keyint specifies how often to put a keyframe in the stream - the lower it is, the better the stream will recover from dropped packets in my experience.