将H.264使用RTMP打包后发送给RED5/FMS进行实时发布
来源:互联网 发布:如何在oecd下载数据 编辑:程序博客网 时间:2024/06/05 06:37
需要从硬压卡上获取的NALU封装成RTMP协议格式发送给RED5/FMS进行实时发布.
RTMP中传送 H.264使用的视频封装格式既是 FLV规范 中的 VideoTag
Frame Type UB [4]
Type of video frame. The following values are defined:
1 = key frame (for AVC, a seekable frame)
2 = inter frame (for AVC, a non-seekable frame)
3 = disposable inter frame (H.263 only)
4 = generated key frame (reserved for server use only)
5 = video info/command frame
CodecID UB [4]
Codec Identifier. The following values are defined:
2 = Sorenson H.263
3 = Screen video
4 = On2 VP6
5 = On2 VP6 with alpha channel
6 = Screen video version 2
7 = AVC
AVCPacketType F UI8
The following values are defined:
0 = AVC sequence header
1 = AVC NALU
2 = AVC end of sequence (lower level NALU sequence ender is
not required or supported)
CompositionTime SI24
IF AVCPacketType == 1
Composition time offset
ELSE
0
See ISO 14496-12, 8.15.3 for an explanation of composition
times. The offset in an FLV file is always in milliseconds.
在第一个RTMP Message的数据包中,需要发送 AVC sequence header, 也就是AVCDecoderConfigurationRecord
其中就包含有Profile / Level / SPS / PPS 等解码需要的信息
然后就开始发送NALU了。
NALU在一个RTMP Message可以发送1个或者多个。
根据 NALU的 reference idc 可以得出 帧类型
如果这个 VideoTag中含有 NALU_PRIORITY_HIGHEST 的NALU, 那么它的VideoTag的 Frame Type 应该是 FrameType_KeyFrame
- 将H.264使用RTMP打包后发送给RED5/FMS进行实时发布
- Android 如何使用juv-rtmp-client.jar向Red5服务器发布实时视频数据
- 使用FMS进行HDS,RTMP,HLS直播
- 利用FFmpeg将RTSP转码成RTMP发布在RED5
- 利用FFmpeg将RTSP转码成RTMP发布在RED5
- android视频开发之一Android 如何使用juv-rtmp-client.jar向Red5服务器发布实时视频数据
- [FMS]red5项目使用rtmp协议,且开启rtmpt,rtmps协议
- [FMS]red5项目使用rtmp协议,且开启rtmpt,rtmps协议
- Linux 下实现RTP实时打包发送H.264视频文件
- rtmp+fms rtmp 视频发布环境
- 通过rtmp向fms发送视频流
- 利用FFmpeg将 IPCamera 的RTSP转码成RTMP发布在RED5
- 利用FFmpeg将 IPCamera 的RTSP转码成RTMP发布在RED5
- RTP打包发送H.264
- RTP打包发送H.264
- RTP打包发送H.264
- RTP打包发送H.264
- RTP打包发送H.264
- perl 文件操作总结
- php四位数字验证码
- HTTPS的七个误解
- mantis导出CSV乱码解决方法
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- 将H.264使用RTMP打包后发送给RED5/FMS进行实时发布
- 给“学生”的一些建议和忠告
- C# asp.net 连接MYSQL帮助类
- [WPF] 自定义窗体样式
- 华为面试题c/c++
- SQL语句性能调整之ORACLE的执行计划(一)
- .NET3.5中的高性能 Socket API
- Eclipse/MyEclipse下使用SVN的用户名和密码删除
- 很好的简历制作