From 8b2bd588430cfd9535059b1beed86582d5981cc4 Mon Sep 17 00:00:00 2001 From: xiongziliang <771730766@qq.com> Date: Fri, 2 Nov 2018 15:06:27 +0800 Subject: [PATCH] =?UTF-8?q?sdp=E4=B8=AD=E6=B7=BB=E5=8A=A0vps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Extension/Factory.cpp | 2 +- src/Extension/H265.h | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Extension/Factory.cpp b/src/Extension/Factory.cpp index 63cab300..11b5acc3 100644 --- a/src/Extension/Factory.cpp +++ b/src/Extension/Factory.cpp @@ -58,7 +58,7 @@ Sdp::Ptr Factory::getSdpByTrack(const Track::Ptr &track) { WarnL << "该Track未准备好"; return nullptr; } - return std::make_shared(h265Track->getSps(),h265Track->getPps()); + return std::make_shared(h265Track->getVps(),h265Track->getSps(),h265Track->getPps()); } case CodecAAC:{ diff --git a/src/Extension/H265.h b/src/Extension/H265.h index cdd78555..44c330a4 100644 --- a/src/Extension/H265.h +++ b/src/Extension/H265.h @@ -358,7 +358,8 @@ public: * @param playload_type rtp playload type 默认96 * @param bitrate 比特率 */ - H265Sdp(const string &strSPS, + H265Sdp(const string &strVPS, + const string &strSPS, const string &strPPS, int playload_type = 96, int bitrate = 4000) : Sdp(90000,playload_type) { @@ -366,7 +367,10 @@ public: _printer << "m=video 0 RTP/AVP " << playload_type << "\r\n"; _printer << "b=AS:" << bitrate << "\r\n"; _printer << "a=rtpmap:" << playload_type << " H265/" << 90000 << "\r\n"; - _printer << "a=fmtp:" << playload_type << " sprop-sps="; + _printer << "a=fmtp:" << playload_type << " "; + _printer << "sprop-vps="; + _printer << encodeBase64(strVPS) << "; "; + _printer << "sprop-sps="; _printer << encodeBase64(strSPS) << "; "; _printer << "sprop-pps="; _printer << encodeBase64(strPPS) << "\r\n";