Linux Camera Streaming by using live555, x264, V4L2 and ffmpeg

来源:互联网 发布:全站简繁体转换js代码 编辑:程序博客网 时间:2024/06/07 02:09


Get source from: live555-for-win32 on Google code. http://code.google.com/p/live555-for-win32/

svn checkout http://live555-for-win32.googlecode.com/svn/trunk/ live555-for-win32-read-only


There is a blog on CSDN:

http://blog.csdn.net/sunkwei/article/details/6605314


The code change I did to make it work on my box is changing the video source from video1 to video0

mp_capture = capture_open("/dev/video0", VIDEO_WIDTH, VIDEO_HEIGHT, PIX_FMT_YUV420P);

Set port = 1234

          RTSPServer *rtspServer = RTSPServer::createNew(*_env, port);


I also changed the Makefile to let it include the ffmpeg and x264 as I didn't install them in /usr/local/lib.  My folder layout looks like these:

LIVE555= ../live
FFMPEG=../ffmpeg
X264 = ../x264

INCLUDES= ... -I$(FFMPEG) -I$(X264)

EXLIB = -L$(FFMPEG)/libavcodec -L$(FFMPEG)/libswscale -L$(FFMPEG)/libavutil -L$(X264)

$(CXX) -o $@ $^ -fPIC  -L/usr/local/lib $(EXLIB) -lavcodec -lswscale -lavutil -lx264 -g3 -O0 -lpthread

$(CXX) -o $@ $^ -fPIC -L/usr/local/lib $(EXLIB) -lavcodec -lswscale -lavutil  -lx264 -lpthread 


To play it, mplayer2 is used on linux on the same machine:

        mplayer rtsp://192.168.1.5:1234/webcam

It can continue play without problem.

While when play it on Windows XP on another machine using VLC, it only played the first several frames then stopped there.


To install x264:

First to get the source: 

        git clone git://git.videolan.org/x264.git

As this version need yasm-1.2.0, so I have to get it from:

         wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz

         tar -xvzf yasm-1.2.0.tar.gz

         cd yasm-1.2.0

         ./configure

         make

         sudo make install      #Install to system folder

Then go to x264 folder:

         cd ../x264/

         ./configure --enable-shared

         make    # I leave the x264 in its folder, not install to system folder


To install ffmpeg:

          git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

          cd ffmpeg

          ./configure

          make

To install live555:

Go to live555 web side to download the tar file from http://www.live555.com/liveMedia/

I downloaded this file:  live.2013.02.11.tar.gz

                         tar -xvzf live.2013.02.11.tar.gz  

                         cd live

                         ./genMakefiles linux

                        make


 

          







原创粉丝点击