RTSP拉流h265(hevc)+AAC关键节点详解!史上最全RTSP+hevc 交互全记录!

本文深入探讨RTSP协议下H265(AVC)码流处理,包括H265原始码流的处理、与H264的区别、RTSP协议的差异、HEVC SDP文件的完整描述以及HEVC RTP封包的详细步骤,旨在提供最全面的RTSP+HEVC交互记录。
摘要由CSDN通过智能技术生成

背景

8020年来了,H265已经跳出小众,日趋流行!在视频大数据时代,高压缩优势也越来越明显!
所以!搞一波RTSP+HEVC+AAC取流支持!

网上资料,h264比较齐全,对h265的说明比较零散,记录一下所有关键点!

H265原始码流处理

所有的视频帧(VPS/SPS/PPS/I/P)请去掉起始码0001,RTP包不需要起始码!
这里为什么单独拉出来呢,因为我就踩了一个坑,我大意啊,没有闪!上次搞RTSP很多年了,忘了这一茬,所以出现了很多莫名其妙的错误,后面单独开一篇!

H264与H265区别

首先HEVC在H264的图像描述上由PPS和SPS增加了VPS,这三者之间的关系如图:
在这里插入图片描述

RTSP协议H264与H265的区别

首先,我

Android支持H.265视频编解码器,同时也支持RTSP协议来实现流媒体传输。你可以使用Android的MediaCodec API来实现H.265视频编解码器的开发,同时使用Android的MediaPlayer或ExoPlayer来实现RTSP协议的流媒体传输。下面是一个简单的示例: ```java // 创建H.265编码器 MediaCodec encoder = MediaCodec.createEncoderByType("video/hevc"); MediaFormat format = MediaFormat.createVideoFormat("video/hevc", width, height); format.setInteger(MediaFormat.KEY_BIT_RATE, bitRate); format.setInteger(MediaFormat.KEY_FRAME_RATE, frameRate); format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, iFrameInterval); encoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); encoder.start(); // 创建H.265解码器 MediaCodec decoder = MediaCodec.createDecoderByType("video/hevc"); decoder.configure(format, surface, null, 0); decoder.start(); // 创建RTSP播放器 String url = "rtsp://xxx.xxx.xxx.xxx:xxxx/xxx"; MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(url); mediaPlayer.prepare(); mediaPlayer.start(); // 创建ExoPlayer String userAgent = Util.getUserAgent(context, "AppName"); DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory(userAgent); ExtractorMediaSource.Factory mediaSourceFactory = new ExtractorMediaSource.Factory(dataSourceFactory); MediaSource mediaSource = mediaSourceFactory.createMediaSource(Uri.parse(url)); SimpleExoPlayer exoPlayer = new SimpleExoPlayer.Builder(context).build(); exoPlayer.setMediaSource(mediaSource); exoPlayer.prepare(); exoPlayer.play(); ``` 需要注意的是,H.265编码器和解码器的实现可能因硬件支持和系统版本而异,需要根据具体情况进行适配。同时,RTSP协议需要在网络环境中进行传输,需要考虑网络带宽和延迟等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值