下载

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: (MESSAGE):
Looking for openssl headers - not found
Call Stack (most recent call first):
CMakeLists.txt: (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::: error: 'ptrdiff_t' was not declared in this scope
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp::: note: suggested alternatives:
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h::: note: 'std::ptrdiff_t'
/usr/include/c++/4.6/i686-linux-gnu/./bits/c++config.h::: note: 'std::ptrdiff_t'
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp::: error: expected ';' before 'delta'
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp::: error: 'delta' was not declared in this scope
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp::: error: 'delta' was not declared in this scope
/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp::: error: 'delta' was not declared in this scope
make[]: *** [tinyxml/CMakeFiles/tinyxml.dir/home/user/crtmpserver/3rdparty/tinyxml/tinyxmlparser.cpp.o] Error
make[]: *** [tinyxml/CMakeFiles/tinyxml.dir/all] Error
make: *** [all] Error

将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 .flv

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

crtmpserver的安装,摄像头视频测试的更多相关文章

  1. Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  2. Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  3. javacv开发详解之1:调用本机摄像头视频(建议使用javaCV1.3版本)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  4. 如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能

    之前一直用Directshow技术采集摄像头数据,但是觉得涉及的细节比较多,要开发者比较了解Directshow的框架知识,学习起来有一点点难度.最近发现很多人问怎么用FFmpeg采集摄像头图像,事实 ...

  5. javacv开发详解之1:调用本机摄像头视频(建议使用javaCV最新版本)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  6. javacv开发详解之1:调用本机摄像头视频

    前言:javacv开发包是用于支持java多媒体开发的一套开发包,可以适用于本地多媒体(音视频)调用以及音视频,图片等文件后期操作(图片修改,音视频解码剪辑等等功能),这里只使用最简单的本地摄像头调用 ...

  7. 在Jetson TX2上显示摄像头视频并使用python进行caffe推理

    参考文章:How to Capture Camera Video and Do Caffe Inferencing with Python on Jetson TX2 与参考文章大部分都是相似的,如果 ...

  8. 在Jetson TX2上捕获、显示摄像头视频

    参考文章:How to Capture and Display Camera Video with Python on Jetson TX2 与参考文章大部分都是相似的,如果不习惯看英文,可以看看我下 ...

  9. Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常)

    在视频程序的编写过程中,我们经常要使用摄像头,在使用摄像头前有必要对摄像头的现有状态做个检测: 1.被占用 2.没安装摄像头 3.正常 camera=Camera.getCamera();       ...

随机推荐

  1. [Oracle AR]Territory Flexfield

    You can use the Territory Flexfield for recording and customized reporting on your territory informa ...

  2. MySQL密码忘记之解决方法

    方法一: 通过修改配置文件来登录mysql,方法也不难. 操作步骤: 在安装目录下找到配置文件my.ini 2.在my.ini中找到 [mysqld]字段,在它底下加上skip-grant-table ...

  3. Angular 2.0 从0到1 (六)

    第一节:Angular 2.0 从0到1 (一)第二节:Angular 2.0 从0到1 (二)第三节:Angular 2.0 从0到1 (三)第四节:Angular 2.0 从0到1 (四)第五节: ...

  4. MyBatis(3.2.3) - Configuring MyBatis using XML, Settings

    The default MyBatis global settings, which can be overridden to better suit application-specific nee ...

  5. Entity Framework + WCF REST JSON Service

    利用EF 和WCF 建立一个REST JSON Service. 首先我们要下载一个Visual Studio 的Template 叫 "ADO.NET C# POCO Entity Gen ...

  6. 分享我的2014年3月unity3d面试题与参考答案

    今年3月份面试unity3d游戏程序,先做的面试题,然后人事问了我几个之前游戏开发的问题,问我英语怎么样等等,介绍了公司情况和对unity3d程序的要求.之后就回来了,总共面了不到1个半小时吧.笔试答 ...

  7. PYTHON:HTTP头设置工具(以附件名为例)

    import oss2 # 用户授权 auth = oss2.Auth('accessId', 'accessKey')# oss bucket bucket = oss2.Bucket(auth, ...

  8. 如何设置win7任务栏的计算机快速启动

    win7默认会有一个资源管理器的快速启动栏,但是点击的时候会打开“库”,你可能一般不会用这个库,想打开计算机怎么办呢? 其实很简单,再按住shift的同时右键资源管理器的这个快速启动项,然后会出现菜单 ...

  9. ios开发入门篇(一):创建工程

    突然心血来潮,想写点技术方面的东西,做了ios也有好几年了,就简单的写个ios开发的技术博客,希望有人能用得到. 今天就先从创建一个Hellow World工程开始 一:首先打开xcode然后单击Cr ...

  10. CodeSmith Template Model Output

    背景:上学那会儿就接触CodeSmith,是一款非常优秀的代码自动生成工具.以前写过好些基本模版,可惜早不知道扔到哪儿去了,如今只能重新开始,把它捡回来,加油. 效果:将数据库 DataBase 应用 ...