一、openRTSP编译运行

a)windows下编译运行

还是以mediaServer作为服务端,openRTSP作为客户端

b)Linux下编译运行

转自http://kuafu80.blog.163.com/blog/static/122647180201372654556863/

1:  编译

   (1):  ./genMakefiles           linux
   (2):  make
 
2: 服务器环境
    服务器端是一个支持RTSP server的H.264的摄像头;
 
3: 运行 openRTSP
    ./openRTSP  -d  20   -f  20  -w 640  -h  480   -b  400000  "rtsp://192.168.2.239/id=0"
或 ./openRTSP    -f  20  -w 640  -h  480   -b  400000  "rtsp://192.168.2.239/id=0"
参数解释;  -d  20   --->程序运行时间,如果没有程序持续从服务器获取视频;
                   -f   20   ----> 帧率
                  -w  640  -h  480 -----> 帧分辨率
                  -b  400000  ---->码率
4: 如果不修改playCommon.cpp的代码,openRTSP将获取的视频数据通过stdout直接打印到屏幕
 
5: 如果是自己取裸码流,则可以调用SPS相关的函数,将H264的帧信息告诉解码器,否则无法解码
    unsigned int num=1;
    SPropRecord * sps = parseSPropParameterSets(subsession->fmtp_spropparametersets(),num);
    fileSink = H264VideoFileSink::createNew(*env, outFileName,
                            subsession->fmtp_spropparametersets(),
                            fileSinkBufferSize, oneFilePerFrame);
    struct timeval tv={0,0};
    unsigned char start_code[4] = {0x00, 0x00, 0x00, 0x01};
    fileSink-> addData(start_code, 4, tv);
    fileSink->addData(sps[0].sPropBytes,sps[0].sPropLength,tv);
    delete[] sps;
 
6: 稍微修改代码让openRTSP只录视频,且保存到指定的文件
    streamURL = argv[1];
      // add by Andy_xi
     createReceivers = True;   // 保存视频
     outputAVIFile = False;   //因为是H264
     videoOnly = True;
     singleMedium = "video";   //只要视频
     //<------end
 
7: 调试记录
    启动openRTSP后,一定的看到SDP信息中的SPS信息,否则解码器可能不能解码
    a=fmtp:106 profile-level-id=42001E;sprop-parameter-sets=Z0KAKNoB4AiXlQ==,aM48gA==;packetization-mode=0
 
只要有这个信息,用file  命令看生成h264文件显示如下:
 
new.h264: JVT NAL sequence, H.264 video, baseline @ L 40
 
 

RTSP客户端接收存储数据(live555库中的openRTSP实例)的更多相关文章

  1. RTSP客户端接收存储数据(live555库中的testRTSPClient实例)

    1.testRTSPClient简介 testRTSPClient是个简单的客户端实例,这个实例对rtsp数据交互作了详细的描述,其中涉及到rtsp会话的两个概念Source和Sink. Source ...

  2. live555库中的openRTSP实例

    一.openRTSP编译运行 a)windows下编译运行 还是以mediaServer作为服务端,openRTSP作为客户端 b)Linux下编译运行 转自http://kuafu80.blog.1 ...

  3. live555库中的testRTSPClient实例

    1.testRTSPClient简介 testRTSPClient是个简单的客户端实例,这个实例对rtsp数据交互作了详细的描述,其中涉及到rtsp会话的两个概念Source和Sink. Source ...

  4. live555库中的testH264VideoStreamer实例

    1.h264文件的推送 testH264VideoStreamer.cpp文件的开头就定义了 char const* inputFileName = "test.264"; 后面接 ...

  5. JVM存储位置分配——java中局部变量、实例变量和静态变量在方法区、栈内存、堆内存中的分配

    Java中的变量根据不同的标准可以分为两类,以其引用的数据类型的不同来划分可分为“原始数据类型变量和引用数据类型变量”,以其作用范围的不同来区分可分为“局部变量,实例变量和静态变量”. 根据“Java ...

  6. RTSP服务端转发服务(live555库中的testH264VideoStreamer.cpp和testOnDemandRTSPServer.cpp实例)

    1.h264文件的推送 testH264VideoStreamer.cpp文件的开头就定义了 char const* inputFileName = "test.264"; 后面接 ...

  7. 【JAVA】使用 jedis操作redis——连接、存储数据、切库等

    本篇运用Java调用jedis包(jedis在线文档API ),做简单操作实例. 安装jedis 1. 2.9.0 jar 版本下载: jedis-2.9.0.jar 2. 新建项目,添加该驱动包 连 ...

  8. 转 RTSP客户端模拟器(TCP方式,Python实现)

    转自: http://www.cnblogs.com/MikeZhang/archive/2012/10/29/rtspTcpClient_DSS_20121029.html 由于某种需求,工作中需要 ...

  9. Netty 如何高效接收网络数据?一文聊透 ByteBuffer 动态自适应扩缩容机制

    本系列Netty源码解析文章基于 4.1.56.Final版本,公众号:bin的技术小屋 前文回顾 在前边的系列文章中,我们从内核如何收发网络数据开始以一个C10K的问题作为主线详细从内核角度阐述了网 ...

随机推荐

  1. hdu 1000&hdu1001

    1001 #include<iostream> #include<stdio.h> using namespace std; int main() { long long n; ...

  2. [转]Linux系统下yum和apt-get的区别

    一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat 系列 1 常见的安装包 ...

  3. python3颜色输出

    遇到一个项目,需求是在python3中,处理结果显示高亮加颜色,然后资料整理如下 ### 格式: \033[显示方式;前景色;背景色m 这里的格式是规定了m后面的输出字符颜色样式 说明: 前景色 背景 ...

  4. java程序调用kettle

    (1).将相应的kettle的jar包导入的java项目,主要的jar包有一下几个. (2).java程序. package cn.com.taiji.oosweb.test.web; import ...

  5. 判断下列语句是否正确,如果有错误,请指出错误所在?interface A{

    判断下列语句是否正确,如果有错误,请指出错误所在? interface A{ int add(final A a); } class B implements A{ long add(final A ...

  6. 机器学习之svm---cv wiki svm

    http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/ml/introduction_to_svm/introduction_to_s ...

  7. mfc小工具开发之定时闹钟之---二十四小时时区和时间段

    1.凌晨0:00-6:00时显示凌晨,上午6:00-12:00显示上午,中午12:00-14:00显示中午,下午14:00-显示下午,晚上18:00-24:00显示晚上 2. 早上:6-8:上午8-1 ...

  8. ChemDraw绘制苯甲酸钠的生成反应式的方法

    苯甲酸钠是苯甲酸的钠盐,就用途来说苯甲酸主要用于制作杀真菌剂,苯甲酸钠则是用于食物或软饮料中的主要商品防腐剂,其防腐最佳PH是2.5-4.0,苯甲酸钠的亲油性也很大,易穿透细胞膜进入细胞体内.苯甲酸钠 ...

  9. Android 生成keystore,两种方式

    一.eclipse 中生成android keystore 建立任意一个android项目(例如:AntForAndroid) 右键AntForAndroid根目录弹出菜单->Android T ...

  10. 在window把项目上传到github

    作为一个开发者,写博客,上传项目到github好像是不可不会的技能,很多有经验的老司机都会这么建议你.本宝宝第一次要把项目传到github的时候,确实有点蒙蔽,什么鬼,传个东西有必要这么难吗? git ...