openRTSP

A command-line RTSP client

openRTSP是一个命令行程序,它可以用来打开,流化,接收并且录制指定的RTSP视频链接媒体流(如rtsp://开头的URL)

(一个相关的程序“playSIP”可以用来播放或者录制一个SIP会话)

本文将要介绍如下内容

  • Basic operation 基本操作
  • Playing without receiving 播放不接收
  • Playing-time options 播放时选项
  • Streaming access-controlled sessions 流式访问控制选项
  • Outputting a ".mov", ".mp4", or ".avi"-format file 输出一个mov, mp4, avi 格式文件
  • Periodic file output 周期的文件输出
  • 'Trick play' options “特技播放”选项
  • Other options 其他选项
  • A note about RealAudio and RealVideo sessions 关于RealVideo和RealAudio会话注意事项
  • Source code 源码
  • Support and customization 支持与定制
  • Summary of command-line options 选项汇总

其实本文主要内容是openRTSP一些选项的用法,所以将“选项汇总”放在前面来介绍。

Summary of command-line options

(for "openRTSP" and "playSIP")

-4 output a '.mp4'-format file (to 'stdout', unless the "-P <interval-in-seconds>" option is also given)

输出一个“mp4”格式文件(到'标准输出',除非同时有选项“-P <interval-in-seconds>”给定区间时间间隔)
-a play only the audio stream (to 'stdout', unless the "-P <interval-in-seconds>" option is also given)

只输出音频流(到'标准输出',除非同时有选项“-P <interval-in-seconds>”给定区间时间间隔)
-A <codec-number> specify the static RTP payload format number of the audio codec to request from the server ("playSIP" only)

指定从服务器请求的音频编解码器的静态RTP负载格式数量(仅用于“playSIP”)
-b <buffer-size> change the output file buffer size

更改输出文件的缓冲区大小 
-B <buffer-size> change the input network socket buffer size

更改输入网络套接字缓冲区大小
-c play continuously

连续播放 
-C Explicitly ask for a multicast stream even if the server's "DESCRIBE" response doesn't specify a multicast address. (Note that not all servers will support this.) ("openRTSP" only)

明确要求多播流,即使服务器的“DESCRIBE”响应不指定多播地址。(注意,并非所有的服务器都将支持此功能。)(仅对于“openRTSP”)
-d <duration> specify an explicit duration

指定一个明确的持续时间
-D <maximum-inter-packet-gap> specify a maximum period of inactivity to wait before exiting

指定退出之前要等待的最长非活动状态时间
-f <frame-rate> specify the video frame rate (used only with "-q", "-4", or "-i")

指定的视频帧速率(仅用于“-q”,“-4”或“ -i”)
-F <fileName-prefix> specify a prefix for each output file name

指定每个输出文件名前缀
-g <user-agent-name> specify a user agent name to use in outgoing requests

指定输出请求中使用的用户代理名
-h <height> specify the video image height (used only with "-q", "-4", or "-i")

指定视频图像的高度(仅用于“-q”,“-4”或“ -i”)
-H output a QuickTime 'hint track' for each audio/video track (used only with "-q" or "-4")

为每个音频/视频轨道输出QuickTime的“索引轨道”
-i output a '.avi'-format file (to 'stdout', unless the "-P <interval-in-seconds>" option is also given)

输出一个“avi”格式文件(到'标准输出',除非同时有选项“-P <interval-in-seconds>”给定区间时间间隔)
-I <interface-name-or-address> specify a particular network interface on which to receive data

指定要接收数据的特定网络接口 
-k <username> <password> specify a user name and password that's required to authenticate an incoming "REGISTER" command (used with "-R" only)

指定验证到来的“REGISTER”命令需要的用户名和密码(仅和“-R”使用) 
-l try to compensate for packet losses (used only with "-q", "-4", or "-i")

尽量弥补丢包(仅和“-q”,“-4”或“ - i”使用)
-m output each incoming frame into a separate file

输出的每个到来的帧到一个单独的文件
-M <MIME-subtype> specify the MIME subtype of a dynamic RTP payload format for the audio codec to request from the server ("playSIP" only)

为音频编解码器指定一个动态的RTP负载格式的MIME子类型来请求服务器(仅用于“playSIP”)
-n be notified when RTP data packets start arriving

RTP数据包到达时通知
-o request the server's command options, without sending "DESCRIBE" ("openRTSP" only)

请求服务器的命令选项,而不发送“DESCRIBE”(仅用于“openRTSP”)
-O don't request the server's command options; just send "DESCRIBE" ("openRTSP" only)

不请求服务器的命令选项;只要发送“DESCRIBE”(仅用于“openRTSP”)
-p <starting-port-number> specify the client port number(s)

指定客户端的端口号
-P <interval-in-seconds> write new output files every <interval-in-seconds> seconds

每一个时间区间写新的输出文件
-q output a QuickTime '.mov'-format file (to 'stdout', unless the "-P <interval-in-seconds>" option is also given)

输出一个“.mov”格式文件(到'标准输出',除非同时有选项“-P <interval-in-seconds>”给定区间时间间隔)
-Q output 'QOS' statistics about the data stream (when the program exits)

输出关于数据流统计的QoS“(程序退出时)
-r play the RTP streams, but don't receive them

播放RTP流,但不接收他们
-R (or -R <port-number>) Waits for an incoming "REGISTER" command, specifying a "rtsp://" URL to play. This option is used instead of a "rtsp://" URL on the command line. ("openRTSP" only)

等待到来的“注册”命令,指定要播放端口号. 这个选项是用来代替命令行中的“rtsp://”URL。 (仅用于“openRTSP”)
-s <initial-seek-time> request that the server seek to the specified time (in seconds) before streaming

请求服务器在流化前搜索到指定的时间(以秒为单位) 用于“trick play”
-S <byte-offset> assume a simple RTP payload format (skipping over a special header of the specified size)

假设一个简单的RTP负载格式(跳过指定大小的特殊头)
-t stream RTP/RTCP data over TCP, rather than (the usual) UDP. ("openRTSP" only)

通过TCP流化RTP / RTCP数据,而不是通过(通常的)的UDP。 (仅用于“openRTSP”) 
-T <http-port-number> like "-t", except using RTSP-over-HTTP tunneling. ("openRTSP" only)

类似“-t”,除了使用RTSP-over-HTTP隧道。 (仅用于“openRTSP”) 
-u <username> <password> specify a user name and password for digest authentication

指定摘要式身份验证的用户名和密码 
-U <initial-absolute-seek-time> request that the server seek to the specified absolute time (format: "YYYYMMDDTHHMMSSZ" or "YYYYMMDDTHHMMSS.<frac>Z") before streaming

请求服务器在流化前搜索到指定的绝对时间
-v play only the video stream (to 'stdout', unless the "-P <interval-in-seconds>" option is also given)

只输出视频流(到'标准输出',除非同时有选项“-P <interval-in-seconds>”给定区间时间间隔)
-V print less verbose diagnostic output

打印更加简洁诊断输出 
-w <width> specify the video image width (used only with "-q", "-4", or "-i")

指定视频图像的宽度
-y try to synchronize the audio and video tracks (used only with "-q" or "-4")

尝试同步音频和视频轨道
-z <scale> request that the server scale the stream (fast-forward, slow, or reverse play)

请求服务器缩放数据流(快进,慢速,或者反向播放)

后续内容慢慢添加......

live555中openRTSP用法相关推荐

  1. LIVE555中RTSP客户端接收媒体流分析及测试代码

    LIVE555中testProgs目录下的testRTSPClient.cpp代码用于测试接收RTSP URL指定的媒体流,向服务器端发送的命令包括:DESCRIBE.SETUP.PLAY.TERAD ...

  2. 基于live555中的liveMedia库的client开发流程 此博文包含图片

    基于live555中的liveMedia库的client开发流程 转载▼ 如今流媒体无处不在,而主流流媒体服务器为Realworks.Windows Media Server.Apple Darwin ...

  3. c++中static_cast用法与uchar/char的区别

    1.c++中static_cast用法 static_cast是指显性类型强制转换,如: int a = static_cast<int>(120.34); 结果为a= 120. 和C语言 ...

  4. 简单介绍Python中异常处理用法

    这篇文章主要给大家分享的是 Python中异常处理用法,为了保证程序的健壮性与容错性,即在遇到错误时候程序不会崩溃,我们需要对异常进行处理,下面来看看文章对此的用法,需要的朋友可以参考一下 为了保证程 ...

  5. 关于OpenCV中常见函数用法总结

    关于OpenCV中常见函数用法总结 一 一般Mat的赋值操作 二 求Mat中的最大值以及最小值 三 randn()函数给图像添加高斯噪声 四 mean()函数的用法 五 系统计时器 六 矩阵之间的四则 ...

  6. java中import用法

    java中import用法 单类型导入(single-type-import),例如import java.io.File; 按需类型导入(type-import-on-demand),例如 impo ...

  7. 一个线程中lock用法的经典实例

    1 /* 2 该实例是一个线程中lock用法的经典实例,使得到的balance不会为负数 3 同时初始化十个线程,启动十个,但由于加锁,能够启动调用WithDraw方法的可能只能是其中几个 4 作者: ...

  8. 几个比较好用的Windows API在C#中的用法。

    几个比较好用的Windows API在C#中的用法. #region Windows Api 定义 ///   /// 模拟鼠标事件   ///   /// 鼠标事件的Enum   /// X座标   ...

  9. python管道界面_python中管道用法入门实例

    本文实例讲述了python中管道用法.分享给大家供大家参考.具体如下: #!coding=utf-8 import multiprocessing def consumer(pipe): output ...

最新文章

  1. Nagios基本搭建
  2. python实现滑块验证功能_python3.8.1+selenium实现登录滑块验证功能
  3. 程序员面试题精选100题(58)-八皇后问题[算法]
  4. 英语答题测试的软件叫什么,英语做题软件哪个好 有答案解析的英语做题软件分享...
  5. 观察者模式,从公众号群发说起
  6. cmake linux 交叉编译,[CMake]CMake设置arm-linux-gcc交叉编译器
  7. 管理感悟:技术文档有用吗
  8. SpringBoot简明教程
  9. Android开发 匹配软键盘回车键
  10. C++操作图像、图片
  11. HR最不认同的5大跳槽理由排行榜
  12. centos8修改系统语言为中文
  13. [OpenGL]导入obj文件
  14. eclipes使用方法
  15. OpenGL---GLUT教程(二) GLUT初始化
  16. js点击轮播或者自动轮播图代码
  17. 推荐5个程序员专属的开源APP
  18. ES基本介绍(2)(*)
  19. 仙气满满的霍尊竟然这么皮?自爆体重已经突破……
  20. 我常用的5种业务分析方法

热门文章

  1. 张萌韩墨羽——Android蓝牙
  2. 配置theano lasagne 和 g++加速
  3. 老张养猪(经典爆笑)
  4. 2017年web前端职位_2017年10个Web预测
  5. ️ 如何绕过 BKY 对 script 的屏蔽
  6. 第R2周:LSTM-火灾温度预测
  7. linux内核查找符号
  8. linux 7zip 加密,7-Zip
  9. 全球反诈骗组织拒绝救援赴柬的台湾民众,背后原因让网友力挺
  10. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.19日(2018省赛A组第7题)