Hi Colin, thanks for your help.
I tried, with this command (is working): cvlc --no-audio rtsp://192.168.0.253/ch0_0.h264 --sout "#transcode{vcodec=MJPG,fps=4,acodec=none}:std{access=http,mux=mpjpeg,dst=0.0.0.0:8090/stream.mpjpeg}"
but cVLC is devasting the CPU, over 90%, and the loss of quality is very very high.

Are you sure GST makes a recoding? Because in that case, the CPU usage was only 30% and the quality was perfect as the original ..
And in the command line gst there is no codec nominated for recoding --> gst-launch-1.0 rtspsrc location=rtsp://192.168.0.253/ch0_0.h264 ! decodebin ! v4l2sink device=/dev/video0

Do you think you can set cVLC to a "direct copy" or something like that? Thus it is unusable: (

I don't know about the CPU usage, either method has to transcode the
data does it not?

I use something like
cvlc --no-audio PVR:///dev/video0  --sout
"#transcode{vcodec=MJPG,fps=4,vb=800,width=384,height=288,acodec=none}:std{access=http,mux=mpjpeg,dst=0.0.0.0:8090/stream.mpjpeg}"

That is all on one line of course.  Note the .mpjpeg extension on the
destination stream, that is key to
vlc knowing what it should do. You will have to replace PVR://... with
whatever is appropriate for you.
cvlc is the command line version of vlc that should be automatically
installed (I think).  If that works then you should be able to open
localhost:8090/stream.mpjpeg in a browser and see the image.  Then
motion can be setup to read from there.  You may well not need the
width and height spec, I wanted to shrink the image down to reduce the
load on motion.

Colin