多路推流软件地址格式详解 - 洛阳翼展电脑


多路推流软件地址格式详解

2024-3-30 乱云飞

0.7 地址格式
0.7.0 特别提示
由于编解码涉及到很多参数,一般都按照默认参数进行处理。

部分用户有时候希望通过填入的播放地址就带上这些信息,比如通信协议、桌面采集的分辨率、编码保存是否转码、转码是否缩放原图等。

各种参数设置有个优先级,优先取地址中带的,没有带则取结构体中的,还没有则取默认值。

有些值会根据具体情况自动调整,比如本地设备采集没有硬解码,udp开头的视频流强制用udp协议,有些不支持硬解的格式自动将硬解码=none。

对于需要在地址中指定参数,对应占位符不填的需要占位符留空,不可以跳过。

占位符中填了对应参数的必须严格按照指定的格式要求,不按照则很可能导致解析失败。

参数用英文竖杠 | 隔开。

0.7.1 通用格式
格式要求: url|transport|decodeType|encodeVideo|encodeVideoFps|encodeVideoRatio|encodeVideoScale。

url表示媒体地址,比如 f:/1.mp3 d:/1.mp4 rtsp://192.168.0.100 等。

transport表示通信协议,可选 tcp/udp,一般用于rtsp视频流,很多时候在linux系统中必须指定tcp,rtsp摄像头才能正常采集。

decodeType表示解码策略,0-速度优先,1-质量优先,2-均衡处理,3-最快速度(不做音视频同步,收到就立马解码和显示)。

encodeVideo表示视频编码格式,0-不做处理,1-自动转码(源头是264就264/265就265),2-强制用264编码,3-强制用265编码。

encodeVideoFps表示编码帧率,默认取源头流的帧率,如果指定了则取指定的。

encodeVideoRatio表示视频压缩比率,对应bit_rate的值,在不改变分辨率的情况下,通过调整这个参数来控制保存文件体积的大小。范围值0-1。

encodeVideoScale表示视频缩放值,字符串类型,如果值float值,则相当于在原有分辨率按照这个值等比例缩放,比如encodeVideoScale=0.5,视频源分辨率是1920x720,则编码保存按照960x360这个分辨率保存。如果是640x480,则按照指定的这个分辨率强制缩放,可能会变形。

0.7.2 本地设备
格式要求:url|bufferSize|frameRate|codecName。

url表示媒体地址,采集摄像头统一约定 video=或者audio=开头。

bufferSize表示分辨率,可填1280x720这种,不填默认640x480。

frameRate表示帧率,不填默认25。

codecName表示解码器名称,有些本地摄像头可以指定解码器名称比如mjpeg/h264,前提是要该设备支持该解码器。默认为空则不指定会自动处理。

win系统如何查看设备名见本文档中 打开本地摄像头。

linux系统查看设备名直接执行命令 ls /dev/video *  即可,一般对应的设备名是 /dev/video0。

下面假定本地摄像头的设备名为 USB Video Device。

写法1:video=USB Video Device,这种写法默认按照640x480分辨率打开摄像头。

写法2:video=USB Video Device|1280x720|30,这种写法按照指定的分辨率1280x720以及采集帧率30来打开摄像头。

写法3:video=/dev/video0,这种是对应linux系统,程序内部会自动过滤和调整填入的地址。

写法4:audio=麦克风 (USB Audio Device),只采集本地麦克风。

写法5:video=USB Video Device:audio=麦克风 (USB Audio Device),同时采集本地摄像头和麦克风。

写法6:video=USB Video Device|1920x1080|30|h264,按照1080P分辨率30帧h264格式解码来打开摄像头。

约定audio=开头是只采集音频,video=开头可以采集视频或者视音频。

如果指定了分辨率和帧率则需要硬件支持才行,比如摄像头的最大分辨率是640x480,而指定了1280x720则会打开失败。

0.7.3 本地桌面
格式要求:url|bufferSize|frameRate|offsetX|offsetY|screenIndex|encodeVideoScale。

url表示媒体地址,采集桌面统一约定 screen=开头。

bufferSize表示采集分辨率,不填则默认取屏幕分辨率。

frameRate表示采集帧率,基本上在2-30之间,不填的话默认ffmpeg会设定一个值,有时候是30。

offsetX/offsetY表示偏移值XY坐标,从屏幕的左上角(0,0)开始。

screenIndex表示屏幕索引,不填的话则默认取当前鼠标所在屏幕。在多个屏幕的时候可通过此参数指定屏幕索引。

encodeVideoScale表示缩放,1表示原始比例(默认值1),0.2则表示按照原始分辨率等比例0.2倍缩放,也可以填400x300表示强制按照这个分辨率缩放。这个在高分辨率的时候特别有用,比如采集的桌面分辨率很大,但是传输的时候受限于带宽,需要等比例压缩一下再传输,此时可以填0.5/0.2之类的值。

写法1:screen=desktop,当前屏幕全屏采集。

写法2:screen=desktop||15|0|0|1,屏幕2全屏采集,帧率15。

写法3:screen=desktop|800x600|10|50|100,鼠标所在当前屏幕采集,采集区域rect(50,100,800,600),帧率10。

写法4:screen=desktop|10x10,约定10x10分辨率表示所有屏幕合并到一个屏幕采集,比如两个屏幕的时候,当做一个屏幕整体采集。当合并屏幕采集的时候,XY偏移值参数无效。

写法5:screen=desktop|800x600|25|1500|300|255,约定屏幕索引255则取用户自定义的区域,该字符串表示采集区域是(1500, 300, 800, 600),自由区域,可以任意指定,比如两个屏幕中间区域。前提只要保证该区域在两个屏幕区域中,如果超过了的话可能采集失败,这要求用户需要对采集区域精准定位。

写法6:screen=title=MainWindow,对指定窗口标题是MainWindow的窗体采集。支持中文标题比如screen=title=系统设置。

经过大量测试发现,如果打包发布的Qt程序带了qt.conf文件并且里面指定了 WindowsArguments = dpiawareness=0 ,在电脑分辨率设置了缩放比不为100%的时候,计算出来的桌面区域未必正确,建议如果此种情况下一定要采集正确的桌面,去掉qt.conf文件中的对应内容或者删除qt.conf文件即可。

0.7.4 电视频道
中央综合:http://39.135.138.60:18890/PLTV/88888910/224/3221225618/index.m3u8

中央新闻:http://39.135.138.60:18890/PLTV/88888910/224/3221225638/index.m3u8

中央音乐:http://39.135.138.60:18890/PLTV/88888910/224/3221225641/index.m3u8

中央电视:http://39.135.138.60:18890/PLTV/88888910/224/3221225635/index.m3u8

中央记录:http://39.135.138.60:18890/PLTV/88888910/224/3221225646/index.m3u8

中央少儿:http://39.135.138.60:18890/PLTV/88888910/224/3221225639/index.m3u8

湖南卫视:http://39.135.138.60:18890/PLTV/88888910/224/3221225745/index.m3u8

深圳卫视:http://39.135.138.60:18890/PLTV/88888910/224/3221225741/index.m3u8

上海纪实:http://39.135.138.60:18890/PLTV/88888910/224/3221225654/index.m3u8

天津卫视:http://39.135.138.60:18890/PLTV/88888910/224/3221225739/index.m3u8

0.7.5 视频文件
 

万能办法,用谷歌或者谷歌内核的浏览器,打开时光网 http://www.mtime.com/ ,随便打开个视频,这里一般是预告片,按F12切换到审查元素,顶部切换到网络,选中媒体,刷新网页,按照尺寸排列,最大的那个MP4文件就是,鼠标右键复制地址,这个地址就是完整的网络地址。

http://vfx.mtime.cn/Video/2021/11/16/mp4/211116131456748178.mp4

http://vfx.mtime.cn/Video/2023/03/09/mp4/230309152143524121.mp4

http://vfx.mtime.cn/Video/2023/03/07/mp4/230307085324679124.mp4

http://vfx.mtime.cn/Video/2022/07/18/mp4/220718132929585151.mp4

http://vfx.mtime.cn/Video/2022/12/17/mp4/221217153424902164.mp4

http://vfx.mtime.cn/Video/2022/07/04/mp4/220704110656040153.mp4

http://vfx.mtime.cn/Video/2021/02/08/mp4/210208150307073134.mp4

http://vfx.mtime.cn/Video/2021/05/11/mp4/210511114524329144.mp4

http://vfx.mtime.cn/Video/2021/04/20/mp4/210420113022586184.mp4

http://vfx.mtime.cn/Video/2021/03/13/mp4/210313111010421158.mp4

http://vfx.mtime.cn/Video/2020/01/15/mp4/200115125943120574.mp4

百度视频

https://vd2.bdstatic.com/mda-nhpqy7k8xamgiqw3/720p/h264/1661362621500413748/mda-nhpqy7k8xamgiqw3.mp4

https://vd2.bdstatic.com/mda-nhp9zvu4tiinsp7z/576p/h264/1661324637707658476/mda-nhp9zvu4tiinsp7z.mp4

https://vd4.bdstatic.com/mda-nhp77xn7fx3e0jgb/576p/h264/1661317610850513689/mda-nhp77xn7fx3e0jgb.mp4

https://vd2.bdstatic.com/mda-nhp72n8xvbtdcmcq/576p/h264/1661317214259599500/mda-nhp72n8xvbtdcmcq.mp4

https://vd2.bdstatic.com/mda-nhp6z0in87tvw77v/576p/h264/1661316943890074768/mda-nhp6z0in87tvw77v.mp4

http://vd3.bdstatic.com/mda-jennyc5ci1ugrxzi/mda-jennyc5ci1ugrxzi.mp4

http://vd2.bdstatic.com/mda-mhhf5mr00yyhpfjs/1080p/cae_h264/1629284581057661229/mda-mhhf5mr00yyhpfjs.mp4

http://vd2.bdstatic.com/mda-mhig1c3sw223mx8p/1080p/cae_h264/1629380139191731149/mda-mhig1c3sw223mx8p.mp4

http://vd3.bdstatic.com/mda-mekfm7wu6f4rtt99/1080p/cae_h264/1621595318412084671/mda-mekfm7wu6f4rtt99.mp4

http://vd2.bdstatic.com/mda-mesdm11tdp69a9ye/1080p/cae_h264/1622115758783335310/mda-mesdm11tdp69a9ye.mp4

时间很短的视频文件

https://highlight-video.cdn.bcebos.com/video/6s/95ae2066-ee02-11ed-9f01-6c92bf5ceb6f.mp4

https://highlight-video.cdn.bcebos.com/video/6s/1a74a352-d1fb-11ed-829b-6c92bf468c1f.mp4

https://highlight-video.cdn.bcebos.com/video/6s/e0d35168-edf5-11ed-8709-6c92bf3b0281.mp4

https://highlight-video.cdn.bcebos.com/video/6s/0757f6ec-ee03-11ed-85d3-6c92bf3b0af4.mp4

https://highlight-video.cdn.bcebos.com/video/6s/6ffb9cbe-ee01-11ed-916c-6c92bfb45e04.mp4

专业测试视频播放器的各种文件 http://samples.mplayerhq.hu/

0.7.6 监控设备
下面列出的是一些常用厂家的格式,不同厂家格式不一样,具体什么格式请咨询厂家索要对应的视频流格式,或者设备支持onvif的话,通过onvif工具搜索可以拿到视频流格式。

0.7.6.1 海康
实时预览格式:rtsp://admin:12345@192.168.1.128:554/Streaming/Channels/101?transportmode=unicast

视频回放格式:rtsp://admin:12345@192.168.1.128:554/Streaming/tracks/101?starttime=20120802t063812z&endtime=20120802t064816z

流媒体视频流:rtsp://172.6.24.15:554/Devicehc8://172.6.22.106:8000:0:0?username=admin&password=12345

日期时间格式:ISO 8601 表示Zulu(GMT) 时间 YYYYMMDD”T”HHmmSS.fraction”Z”,

单播多播说明:unicast表示单播,multicast表示多播,默认单播,可以省略。

通道码流说明:101,1是通道号,01是通道的码流编号,也可以是02、03,第2通道主码流=201,第16通道子码流=1602,依次类推。

0.7.6.2 大华
实时预览格式:rtsp://192.168.1.128:554/cam/realmonitor?channel=1&subtype=0&unicast=true&proto=Onvif

视频回放格式:rtsp://admin:12345@192.168.1.128:554/cam/playback?channel=1&subtype=0&starttime=2021_03_18_11_36_01&endtime=2021_03_18_12_05_01

格式内容说明:channel表示通道,subtype表示码流编号,日期时间字符串非常明确。

0.7.6.3 常规
实时预览格式:rtsp://admin:12345@192.168.1.128:554/live?channel=1&stream=1

视频回放格式:rtsp://admin:12345@192.168.1.128:554/file?channel=1&start=1494485280&stop=1494485480

其他通用格式:rtsp://admin:12345@192.168.1.128:554/0  0-主码流 1-子码流

日期时间说明:先转换时间戳,1970年到该时间经过的秒数。

0.7.7 指定协议
由于视频流源头限制,可能有些源头只支持tcp/udp协议的一种,就需要手动指定。

指定tcp协议打开视频流:rtsp://admin:12345@192.168.1.128/1|tcp

指定udp协议打开视频流:rtmp://livetv.dhtv.cn:1935/live/financial|udp
本文链接:http://80c.cc/ez/764.html
0

发表评论:

VirtualCamera:在录像机中虚拟一个通道显示电脑桌面、视频文件、USB摄像头~
预ICP备10086-001号 © 翼展网/80C.CC 技术支持/洛阳翼展科技
TEL / 13213610060 QQ / 345794501
Powered by emlog