We are trying to get Gstreamer working on a DM368 Leopardboard*, we've successfully persuaded it to create a test video (videotestsrc), encode it, and dump it into a file.
The pipe that worked is:
gst-launch -v videotestsrc num-buffers=100 ! queue ! ffenc_mpeg4 bitrate=800000 ! ffmux_mp4 ! filesink location=video_test.mp4
The next step is to modify the pipe to stream the testcard over the network, to be viewed on a PC with VLC using something like rtsp://ip_addr:port/streamname but the documentation on how to do this seems quite thin on the ground (and often outdated), and the examples seem to blur source code and command line ways of doing it.
I'll freely admit that >50% of the problem is our lack of familiarity with Gstreamer & its various parts, I've always found that if I have a working example to start from I can poke it with sticks and work out the rest from there.
I've got this far:
gst-launch -v videotestsrc ! queue ! ffenc_mpeg4 bitrate=800000 ! rtpmp4vpay ! tcpserversink host=<PC_ip> port=5000
Which seems to make something happen in VLC (using tcp://board_ip:port)- it seems to think there's something going on (doesn't throw an error) but doesn't play/show anything. When I break (^C) the gst process, VLC notices.
So, basically - any guidance/feedback would be great, a working one-liner would be fantastic.
Edited to add: Yes I see the test_video.c example, but that's compiling a special program to do something which looks like it should be possible to just invoke from the command line to prove the concept.
* = Linux version 2.6.32-17-ridgerun /CPU: ARM926EJ-S