crtmpserver的安装,摄像头视频测试

下载

svn co --username anonymous --password "" https://svn.rtmpd.com/crtmpserver/branches/1.0 crtmpserver

安装:

1. 按照文档sudo apt-get install g++ subversion cmake make libssl-dev,还是出现

-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
OPENSSL_INCLUDE_PATH: OPENSSL_INCLUDE_PATH-NOTFOUND
OPENSSL_LIBRARY_PATH: OPENSSL_LIBRARY_PATH-NOTFOUND
CRYPTO_LIBRARY_PATH: CRYPTO_LIBRARY_PATH-NOTFOUND
Z_LIBRARY_PATH:
CMake Error at cmake_find_modules/Find_openssl.cmake:74 (MESSAGE):
  Looking for openssl headers - not found
Call Stack (most recent call first):
  CMakeLists.txt:46 (INCLUDE)


-- Configuring incomplete, errors occurred!

缺少openssl,从网上下载openssl,make install之后cmake .成功

但是make出错:

/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp: In static member function 'static const char* TiXmlBase::GetEntity(const char*, char*, int*, TiXmlEncoding)':
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:407:9: error: 'ptrdiff_t' was not declared in this scope
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:407:9: note: suggested alternatives:
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:156:28: note:   'std::ptrdiff_t'
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h:156:28: note:   'std::ptrdiff_t'
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:407:19: error: expected ';' before 'delta'
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:419:13: error: 'delta' was not declared in this scope
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:443:13: error: 'delta' was not declared in this scope
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp:462:20: error: 'delta' was not declared in this scope
make[2]: *** [tinyxml/CMakeFiles/tinyxml.dir/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp.o] Error 1
make[1]: *** [tinyxml/CMakeFiles/tinyxml.dir/all] Error 2
make: *** [all] Error 2

将ptrdiff_t delta = 0;改成std::ptrdiff_t delta = 0;

不容易,终于ok了。

运行:

./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua
。。。。
+-----------------------------------------------------------------------------+ | Services| +---+---------------+-----+-------------------------+-------------------------+ | c | ip | port| protocol stack name | application name | +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 1112| inboundJsonCli| admin| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 1935| inboundRtmp| appselector| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 8081| inboundRtmps| appselector| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 8080| inboundRtmpt| appselector| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 6666| inboundLiveFlv| flvplayback| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 9999| inboundTcpTs| flvplayback| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 6665| inboundLiveFlv| proxypublish| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 8989| httpEchoProtocol| samplefactory| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 8988| echoProtocol| samplefactory| +---+---------------+-----+-------------------------+-------------------------+ |tcp| 0.0.0.0| 1111| inboundHttpXmlVariant| vptests| +---+---------------+-----+-------------------------+-------------------------+ /home/user/crtmpserver/sources/crtmpserver/src/crtmpserver.cpp:258 GO! GO! GO! (20498)

 

 发布流

工具:Flash Media Live Encoder 3.2

填上相应的内容,最后绿色start即可。显示摄像头视频

 接收显示流

工具:https://code.google.com/p/android-recorder/downloads/list ,A simple player from red5 可用于点播流媒体服务器上flv文件的播放器,flvPlayer.exe

填上对应的ip,name等就好。 

 

测试ok,能看到摄像头视频,但有大约2s左右的延迟。

 

 

rtmpdump使用

./rtmpdump -r "rtmp://192.168.1.103/live/livestream" -v -o 1.flv

 保存到1.flv中,能正常播放。

 

posted on 2013-08-28 22:11  单刀不进  阅读(1656)  评论(0编辑  收藏  举报

导航