world leader in high performance signal processing
Trace: » vlc

VideoLan Client (VLC)

VLC is a highly portable multimedia player which can handle various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, …) as well as DVDs, VCDs, and various streaming protocols. It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network.

For example, you can use VLC to take input from a camera, transcode it to MPEG4, and then transmit it via RTP to any other network device.

Getting VLC Sources

You can grab the latest release from the VLC download page.

Or you can pull from the upstream Subversion repository:

$ svn checkout svn://svn.videolan.org/vlc/trunk vlc

vlc-0.8.6b is also included in uclinux-dist/user/blkfin-apps/vlc.

Building VLC on Blackfin

To build VLC in uclinux-dist, please build toolchain from SVN trunk.

  • Build binary in FDPIC format:
     Blackfin build Options ---> (FDPIC) Binary format 
  • Select ffmpeg:
     Library Configuration ---> Build ffmpeg 
  • Select vlc:
     Blackfin app programs ---> VLC 

Running VLC

For full details, you should of course read the VLC manual. For some quick copy & paste examples, read on.

Before you can run vlc, you must have networking set up. If you are not sure how to do this, see the setting_up_the_network page.

To build kernel with camera support, please refer to: v4l_blackfin_camera.

To send video from a Blackfin at 192.168.0.2, to a client at 192.168.0.1:

root:> vlc v4l:/dev/video0:size=cif:fps=15 --sout '#transcode{vcodec=mp4v}:rtp{dst=192.168.0.1,port=1234,sdp=http://192.168.0.2:8080/test.sdp}' --no-audio --ttl 1

The options must be given to vlc:

and :

  • v4l:/dev/video0:size=cif:fps=15 : To have VLC read from a Video4Linux (V4L) device, size = cif, frames per second = 15
  • --no-audio : disable compression and sending of audio
  • --sout '#transcode{vcodec=mp4v}' : encode to MPEG4
  • --sout 'rtp{dst=$DST_IP,port=1234,sdp=http:$SRC_IP:8080/test.sdp}' : transmit via RTP (replace $DST_IP with the client and $SRC_IP'' with the board) Then on another machine, point your media client to the board (any client that can handle RTP should work, we have checked out the vlc client, and Apple's Quicktime): <code> vlc http:$SRC_IP:8080/test.sdp </code>