下载

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. android开发之路09(浅谈SQLite数据库01)

    1.SQLite数据库: SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使 用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同, ...

  2. xml版本学生管理系统

    一: 需求描述 学生成绩管理系统,使用xml存储学生信息,可以对学生信息进行增.删.删除操作. 主要目的:练习操作xml元素的增删改查 二:代码结构 1:xml存储数据如下 exam.xml < ...

  3. next_permutation()—遍历全排列

    # next_permutation()--遍历全排列 template <class BidirectionalIterator> bool next_permutation (Bidi ...

  4. Hibernate悲观锁/乐观锁

    如果需要保证数据访问的排它性,则需对目标数据加"锁",使其无法被其它程序修改 一,悲观锁 对数据被外界(包括本系统当前的其它事务和来自外部系统的事务处理)修改持保守态度,通过数据库 ...

  5. php-fpm配置文件详解

    第一部分:FPM 配置 参数 | 说明 -p | 命令行中动态修改--prefix ;include=etc/fpm.d/*.conf | 用于包含一个或多个文件,如果glob(3)存在(glob() ...

  6. Java Concurrency - ReentrantLock

    ReentrantLock 是可重入的互斥锁,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大. ReentrantLock 将由最近成功获 ...

  7. ActiveMQ(5.10.0) - 使用 JDBC 持久化消息

    1. 编辑 ACTIVEMQ_HOME/conf/activemq.xml. <beans> <broker brokerName="localhost" per ...

  8. asterisk 语音文件转换

    Centos wav to sln sox foo-in.wav -t raw -r 8000 -s -2 -c 1 foo-out.sln 当前目录下所有语音wav文件 转换成sln for a i ...

  9. sql server日期时间转字符串(转)

    一.sql server日期时间函数Sql Server中的日期与时间函数 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基 ...

  10. 设置Oracle 12C OEM 端口

    SQL);   打开OEM: http://DBSIPOrName:8087/em/