Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support transmux RTC to RTMP. 4.0.95 #2303

Merged
merged 6 commits into from
May 1, 2021
Merged

Conversation

winlinvip
Copy link
Member

@winlinvip winlinvip commented Apr 23, 2021

This PR supports:

  1. Refine audio transcoder for transcoding aac to opus.
  2. Support transcode opus to aac.
  3. Support transmux RTC to RTMP.

image

Why it's so important?

  1. RTC DVR, we publish stream by WebRTC. The stream is h.264+opus, so the audio is transcoded to aac, then SRS will DVR to FLV or MP4 file.
  2. In a video room, there might be some WebRTC streams, which can be transmux to RTMPs. We can use FFmpeg to transcode and merge RTMP streams, then publish as live. That is transcode a video room to a RTMP stream.
  3. Publish by WebRTC and play by RTMP, which use Chrome as a encoder for live broadcasting.

What's now and next?

  1. Now this PR supports transmux WebRTC to RTMP.
  2. After merged, it's able to DVR WebRTC stream.
  3. In the near future, we will write some demos for video room and transmux it to live streaming.

@codecov-commenter
Copy link

codecov-commenter commented Apr 30, 2021

Codecov Report

Merging #2303 (5ef71f4) into 4.0release (659e173) will decrease coverage by 0.40%.
The diff coverage is n/a.

❗ Current head 5ef71f4 differs from pull request most recent head 19e7e2d. Consider uploading reports for the commit 19e7e2d to get more accurate results
Impacted file tree graph

@@              Coverage Diff               @@
##           4.0release    #2303      +/-   ##
==============================================
- Coverage       39.01%   38.61%   -0.41%     
==============================================
  Files             108      108              
  Lines           39914    40386     +472     
==============================================
+ Hits            15572    15594      +22     
- Misses          24342    24792     +450     

| Impacted Files | Coverage Δ | |'

Translated to English while maintaining the markdown structure:

'| Impacted Files | Coverage Δ | |
|---|---|---|
| trunk/src/app/srs_app_async_call.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_bandwidth.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_caster_flv.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_config.cpp | 64.24% <ø> (-1.00%) | ⬇️ |
| trunk/src/app/srs_app_config.hpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_conn.cpp | 46.31% <ø> (ø) | |
| trunk/src/app/srs_app_conn.hpp | 100.00% <ø> (ø) | |
| trunk/src/app/srs_app_coworkers.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_dash.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_dvr.cpp | 0.00% <ø> (ø) | |'

Translated to English while maintaining the markdown structure:

'| trunk/src/app/srs_app_async_call.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_bandwidth.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_caster_flv.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_config.cpp | 64.24% <ø> (-1.00%) | ⬇️ |
| trunk/src/app/srs_app_config.hpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_conn.cpp | 46.31% <ø> (ø) | |
| trunk/src/app/srs_app_conn.hpp | 100.00% <ø> (ø) | |
| trunk/src/app/srs_app_coworkers.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_dash.cpp | 0.00% <ø> (ø) | |
| trunk/src/app/srs_app_dvr.cpp | 0.00% <ø> (ø) | |
| ... and 102 more | |


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data'

Translated to English while maintaining the markdown structure:

'> Δ = absolute <relative> (impact), ø = not affected, ? = missing data

Powered by Codecov. Last update 659e173...19e7e2d. Read the comment docs.

TRANS_BY_GPT3

@winlinvip winlinvip changed the base branch from develop to 4.0release May 1, 2021 09:40
@winlinvip winlinvip changed the base branch from 4.0release to develop May 1, 2021 09:40
@winlinvip winlinvip force-pushed the feature/rtc2rtmp branch from 705f8a8 to 4cf996f Compare May 1, 2021 09:59
@winlinvip winlinvip changed the base branch from develop to 4.0release May 1, 2021 09:59
@winlinvip winlinvip force-pushed the feature/rtc2rtmp branch from 4cf996f to 19e7e2d Compare May 1, 2021 10:05
@winlinvip winlinvip added this to the SRS 4.0 release milestone May 1, 2021
@winlinvip winlinvip merged commit 8a30cc8 into 4.0release May 1, 2021
@winlinvip winlinvip deleted the feature/rtc2rtmp branch May 1, 2021 10:17
winlinvip added a commit that referenced this pull request May 1, 2021
@winlinvip winlinvip changed the title Support transmux RTC to RTMP. Support transmux RTC to RTMP. 4.0.95 May 1, 2021
@winlinvip winlinvip added the TransByAI Translated by AI/GPT. label Jul 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature It's a new feature. TransByAI Translated by AI/GPT.
Projects
None yet
2 participants