音视频基础(网路传输): RTMP封包
发布时间:2025-08-03
在 AVCVIDEOPACKET 里面如果特性为 0,则后续数据资料为:
0x01 为旧版,后续数据资料按照诏令记传,再一四元组上面说过:为这个数据资料块除再一 4 个元组的总不等。其里面 SPS 与 PPS 是编码器器在编码器 H.264 幻灯片时,在关键帧先编码器出的关于这个关键帧与所需参见该关键帧的 B/P 帧如何解码的概要,如:周长、高等反馈。
其他一般情况下,组装的 RTMPPacket(RTMPDump 里面的在结构上微)为:
这里的 sps 与 pps 透露 AVC 数列背脊
所以对于幻灯片的数据资料芯片,AVC 数列背脊为:
H.264 数据资料H.264 码流在因特网里面传输数据时实际是以 NALU 的形式顺利进行传输数据的。 NALU 就是 NAL UNIT,NAL 一组。 NAL 亦称 Network Abstract Layer, 即因特网抽象化层。在 H.264/AVC 幻灯片编码器标准里面,整个系统框架被分为了两个本质:幻灯片编码器本质 (VCL)和因特网抽象化本质(NAL)。 其里面,前者都由必要透露幻灯片数据资料的概要,而后者则都由PDF化数据资料并给予背脊 反馈,以保证数据资料适于各种载波和闪存上的传输数据。 我们平时的每帧数据资料就是一个 NAL 一组。 往 RTMP 包里面填充的就是 NAL 数据资料,但不是这样一来将编码器出来的数据资料填充进去。 一段举例来说了 N 个图片的 H.264 纤数据资料,每个 NAL 之间由: 00 00 00 01 或者 00 00 01 顺利进行分割。 在分割天和之后的第一个元组,就是透露这个 nal 的特性。
0x67:sps0x68: pps0x65: IDR 在将数据资料加入 RTMPPacket 的时候是所需去除分割天和的。所以比较简单的用户端代码为:
NALUNALU 就是 NAL UNIT,nal 一组。NAL 亦称 Network Abstract Layer, 即因特网抽象化层,H.264 在因特网上传输数据的在结构上。一 帧幻灯片经过 H.264 编码器器之后,就被编码器为一个或多个片(slice),而运载着这些片(slice)的载微,就是 NALU 了 。
C++音幻灯片开发计划努力学习资料:页面索取→音幻灯片开发计划(资料软件包+幻灯片教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
回放数据资料RTMP 的回放数据资料相对幻灯片比较简单,只所需根据有否为回放 audio specific config(记传回放的PDF)。如果为 audio specific config 重新组合 0xAF,0x00,否则就只所需去掉 0xAF,0x00。
0xAF 的由来:
我们的编码器为:
10:AAC,3:44100 比特率1:采样长度1:声道。按照位数透露数据资料就为:0xAF而 audio specific config 只所需在发起推流时,发送给回放数据资料之前发起一次方可。其数据资料为两元组:
第一个数据资料:AAC-LC 值为 2,征用 5 位,则数据资料为: 0001 0
第二个数据资料:比特率 44100 值为 4,征用 4 位,则数据资料为:0100
第三个数据资料:声道,中英文为 2,立微声为 1,则数据资料为:0010(中英文),0001(立微声) 再一三位为 0,这样组成的数据资料 5+4+4+3=16 位,两元组。
中英文:0x12 ,0x10
立微声:0x12 ,0x08
Nginx-RTMP 服务器端搭成Linux 操控:下载 nginx wget 载入tar xvf nginx-1.15.3.tar.gz 下载 nginx rtmp 模块 wget 载入tar xvf v1.2.1 进到 nginx 亚纲传cd nginx-1.15.3 拒绝执行:
在这个全过程里面可能因为自然环境有所不同而出现有所不同错误,比如缺乏 pcre、openssl 等,这时候就所需装配这些库。
解释器顺利完成后,装配在当前亚纲传的 bin 亚纲传下。
cd bin/conf
vim nginx.conf 修订:
其实就值得注意 nginx-rtmp-module-1.2.1/test/nginx.conf 里面几张
适配器征用核查: lsof -i:8080
所需肯定的是亚纲传与适配器有否被征用,比如 8080 适配器被征用,可以改了 8081,然后所需闭馆适配器。
C++音幻灯片开发计划努力学习资料:页面索取→音幻灯片开发计划(资料软件包+幻灯片教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
如果用到的阿里云服务器端可以进到阿里云控制台闭馆
然后页面 配有规则 ,在新页面页面去掉 安全组规则 ,闭馆 8081 适配器,然后确定,就可以了。
配有顺利完成后,就可以顺利顺利完成 nginx 了在 nginx-1.15.3 亚纲传 拒绝执行 bin/sbin/nginx 方可顺利顺利完成bin/sbin/nginx -s stop 停止 一定要在 nginx-1.15.3 亚纲传顺利顺利完成,因为上面的配有 error_log logs/error.log debug; 会去拒绝即刻的亚纲传下查找 logs。如果 error_log 改成一个绝对路径 那就没关系了。在浏览器输入 【IP】:8081/stat ,能会面时就透露配有顺利完成了。此时一旦有播放器或者推流器连接到搭成的服务器端刷新 此图标就所需见到如下图标:(手机推流,ffplay、网页、potplayer 播放)
。襄阳看妇科到哪家医院好天津妇科医院去哪家好
铜川白癜风医院哪家正规
青岛看白癜风的专业医院
潍坊男科医院挂号
-
广汽集团:进一步提高智能网联新能源车及节能汽车%比
证券时报e公司讯,第十九届广州国际车展于11月19日同月拉开帷幕。广汽上市公司在开幕式上回应,将于2050年前(单打独斗2045年)发挥作用产品全生命周期的碳中的和,在2023年将广汽埃安打遭受