一、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
 
 

live555库中的openRTSP实例的更多相关文章

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

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

  2. live555库中的testH264VideoStreamer实例

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

  3. live555库中的testRTSPClient实例

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

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

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

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

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

  6. 宣布在 Azure 镜像库中正式推出 Windows Server 2012 R2 并降低 Windows Azure 的实例定价

    我们今天将宣布两条消息,为使用基础结构服务的客户提供更多选择和成本节约:在镜像库中推出 Windows Server 2012 R2 以及降低 Memory Intensive 计算实例定价. 虚拟机 ...

  7. NSClassFromString 实例话静态库中的类

    Class myClass = NSClassFromString("StaticLibyClassName"); StaticLibyClassName是从静态库中实例化一个Cl ...

  8. Solr的原理及在项目中的使用实例.

    前面已经讲过 如果安装及配置Solr服务器了, 那么现在我们就来正式在代码中使用Solr.1,这里Solr主要是怎么使用的呢?  当我们在前台页面搜索商品名称关键词时, 我们这时是在Solr库中去查找 ...

  9. linux静态与动态库创建及使用实例

    一,gcc基础语法: 基本语法结构:(由以下四部分组成) gcc -o 可执行文件名 依赖文件集(*.c/*.o) 依赖库文件及其头文件集(由-I或-L与-l指明) gcc 依赖文件集(*.c/*.o ...

随机推荐

  1. Intellij 常用快捷键

    Project [Alt+1]Version Control [Alt+9]Run [Ctrl+Shift+F10]Debug [Ctrl+Shift+F11]Terminal [Alt+F12]Ed ...

  2. ThreadLocal详解(实现多线程同步访问变量)

    ThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量. 这个玩意有什么用处,或者说为什么要有这么一个东东?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线 ...

  3. How to fix the sources list

    How to fix the sources list Sometimes the apt-get may not work, it is often caused by the misspelled ...

  4. Xcode 修改工程名以及注意事项

    1.先把整个工程文件夹名改为新的工程名. 2.打开工程,单击,输入新的工程名,会出现,点击确定. 3.回到工程界面,在中选择 Manage Schemes,然后再弹出的对话框,把工程名改为新的名字. ...

  5. 【caffe】未定义函数或变量caffe_

    @tag: caffe windows10上配置好caffe后(配置了matlab接口),运行caffe-master/matlab/demo/classification_demo.m报错,提示: ...

  6. HA模式下历史服务器配置

    笔者的集群是 HA 模式的( HDFS 和 ResourceManager HA).在 ” Hadoop-2.5.0-cdh5.3.2 HA 安装" 中详细讲解了关于 HA 模式的搭建,这里就不再赘述 ...

  7. codeforces 613D:Kingdom and its Cities

    Description Meanwhile, the kingdom of K is getting ready for the marriage of the King's daughter. Ho ...

  8. wpf button的mouse(leftbutton)down/up,click事件不响应解决办法

    按照WPF的帮助说明,某些控件的路由事件被内部处理了,已经被标记为Handled,自行定义的事件处理代码便不再起作用了,有时候会很郁闷!         不过WPF提供了必要的方法.         ...

  9. Linux Basic --- The First Character in The File Properity

    -rw-r--r-- [d]: content [-]: file [l]: link file [b]: interface device for storage in a device file ...

  10. 有return的情况下try catch finally的执行顺序

    结论:1.不管有木有出现异常,finally块中代码都会执行:2.当try和catch中有return时,finally仍然会执行:3.finally是在return后面的表达式运算后执行的(此时并没 ...