VLC desktop streaming

Posted by StackedCrooked on Stack Overflow See other posts from Stack Overflow or by StackedCrooked
Published on 2009-11-19T09:41:10Z Indexed on 2010/03/18 9:21 UTC
Read the original article Hit count: 425

Filed under:
|
|

Edit
I stopped using VLC and switched to GMax FLV Encoder. It does a much better job IMO.

Original post
I am sending my desktop (screen) as an H264 video stream to another machine that saves it to a file using the follwoing command lines:

Sender of the stream:

vlc -I dummy
    --sout='#transcode{vcodec=h264,vb=512,scale=0.5}
            :rtp{mux=ts,dst=192.168.0.1,port=4444}'

Receiver of the stream:

vlc -I rc
    rtp://@:4444
    --sout='#std{access=file,mux=ps,dst=/home/user/output.mp4}'
    --ipv4

This works, but there are a few issues:

  • The file is not playable with most players.
  • VLC is able to playback the file but with some weirdness:
  • => it takes about 10 seconds before the playback actually begins.
  • => seeking doesn't work.

Can someone point me in the right direction on how to fix these issues?

EDIT: I made a little progress.

The initial delay in playback is because the player is waiting for a keyframe. By forcing the sender of the stream to create a new key-frame every 4 seconds I could decrease the delay:

:screen-fps=10
--sout='#transcode{vcodec=h264,venc=x264{keyint=40},vb=512,scale=0.5}
       :rtp{mux=ts,dst=192.168.0.1,port=4444}'

The seeking problem is not solved however, but I understand it a little better. The RTP stream is saved as a file in its original streaming format, which is normally not playable as a regular video file. VLC manages to play this file, but most other players don't. So I need to convert it to a regular video file. I am currently investigating whether I can do this with ffmpeg if I provide it with an SDP file for the recorded stream.

All help is welcome!

© Stack Overflow or respective owner

Related posts about vlc

Related posts about video