Month: August 2013

my vlc command to stream video to pc/iOS/android

Stream to a mp4

cvlc v4l2:// :v4l2-vdev="/dev/video0" --sout '#transcode{vcodec=h264,vb=512,scale=1,acodec=none,venc=x264{aud,profile=high,level=60,keyint=15,bframes=0,ref=1,nocabac}}:duplicate{dst=std{access=livehttp{seglen=10,delsegs=true,numsegs=5,index=/opt/adobe/ams/webroot/peter.m3u8,index-url=},mux=ts{use-key-frames},dst=/opt/adobe/ams/webroot/peter.ts},dst=std{access=http,mux=ts,dst=:8081/peter.mp4}}'

Stream to a FLV 

cvlc v4l2:// :v4l2-vdev="/dev/video0" --sout "#transcode{vcodec=FLV1,acodec=mp3,sameplerate=44100}:std{access=http{mime=video/x-flv},mux=ffmpeg{mux=flv},dst=}"

Stream to a HLS

cvlc v4l2:// :v4l2-vdev="/dev/video0" --sout='#transcode{width=320,height=320,fps=25,vcodec=h264,vb=256,venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},acodec=mp3,ab=96,channels=2}:std{access=livehttp{seglen=10,delsegs=true,numsegs=3,index=/opt/adobe/ams/webroot/peter.m3u8,index-url=},mux=ts{use-key-frames},dst=/opt/adobe/ams/webroot/peter.ts}'

read count : 2682

Qemu + GDB, the single step speed is not fast

In bochs, i can invokes around 40 single step commands in my 2012 mac air. People think qemu is much faster than bochs, it is truth but not for single step. I wrote a java program and keep sending single-step command to qemu through socket (GDB protocol, the average speed is 32 commands per seconds. It would be so slow.

I have meet with a trouble, if i create my own debug server, it is too hard because lot of qemu’ codes are twisted with GDB. If i extends the GDB stub in qemu, the speed cannot be raise.

qemu gdb stub single step speed
qemu gdb stub single step speed
bochs single step speed
bochs single step speed

read count : 992


I was trying to create a new debug server in qemu, but it is failed, there are so many pieces of code are twitted with GDB, so a new debug server is unable to make it work. Now I changed my direction, because on gdb communication protocol, i extend it to fit for peter-bochs (will rename to GKD). In gdb, there are some weak points, such as we can view the control registers (CR0, CR2, etc…), even we can view them in qemu monitor, we still have no way to modify its value. These are the reasons I create JLibGDB .

running JLibGDB testing program
running JLibGDB testing program

So far it seems working, i will port all the peter-bochs’ debug commands on that.

read count : 550