1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

H265: Support HEVC over HTTP-TS. v6.0.4 (#3275)

1. Update TS video codec to HEVC during streaming.
2. Return error when HEVC is disabled.
3. Parse HEVC NALU type by SrsHevcNaluTypeParse.
4. Show message when codec change for TS.

Co-authored-by: runner365 <shi.weibd@hotmail.com>
This commit is contained in:
Winlin 2022-11-23 17:05:21 +08:00 committed by GitHub
parent 8debbe6db8
commit 70d5618979
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 178 additions and 33 deletions

View file

@ -131,6 +131,10 @@ enum SrsTsStream
// ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Reserved
// 0x15-0x7F
SrsTsStreamVideoH264 = 0x1b,
#ifdef SRS_H265
// For HEVC(H.265).
SrsTsStreamVideoHEVC = 0x24,
#endif
// User Private
// 0x80-0xFF
SrsTsStreamAudioAC3 = 0x81,
@ -1272,8 +1276,9 @@ public:
// Write a video frame to ts,
virtual srs_error_t write_video(SrsTsMessage* video);
public:
// get the video codec of ts muxer.
// Get or update the video codec of ts muxer.
virtual SrsVideoCodecId video_codec();
virtual void update_video_codec(SrsVideoCodecId v);
};
// Used for HLS Encryption
@ -1315,6 +1320,9 @@ private:
virtual srs_error_t do_cache_mp3(SrsAudioFrame* frame);
virtual srs_error_t do_cache_aac(SrsAudioFrame* frame);
virtual srs_error_t do_cache_avc(SrsVideoFrame* frame);
#ifdef SRS_H265
virtual srs_error_t do_cache_hevc(SrsVideoFrame* frame);
#endif
};
// Transmux the RTMP stream to HTTP-TS stream.