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

About deprecated features. Deprecated features that will be removed, please do not use. #1535

Closed
winlinvip opened this issue Dec 23, 2019 · 6 comments
Assignees
Labels
TransByAI Translated by AI/GPT.
Milestone

Comments

@winlinvip
Copy link
Member

winlinvip commented Dec 23, 2019

The so-called "no destruction, no establishment" principle, with continuous development, previously commonly used technologies may no longer be commonly used, and some features may be eliminated during major version updates. SRS's plan for eliminating features is:

  1. First, mark it as Deprecated, not recommended for use, and describe in the Features and this issue why it is marked as Deprecated.
  2. The Deprecated feature will still be maintained in a major version, for example, if HDS is Deprecated in SRS2, it will still be retained and maintained in SRS3, but will be removed in SRS4.

If users still need to continue using these Deprecated features, they can choose to:

  1. Fork the SRS repository and revert the corresponding commit yourself. We will provide the commit to be deleted, and you just need to revert it in your own fork. However, future merges may cause potential issues that render it unusable.
  2. Reply to this issue, explaining why you need to continue using this feature, describing your use case, and why other technical solutions cannot be chosen. If it is reasonable, we will consider maintaining the Deprecated feature.

Only by continuously subtracting can we do addition more easily.

TRANS_BY_GPT3

@winlinvip winlinvip added this to the SRS 3.0 release milestone Dec 23, 2019
@winlinvip
Copy link
Member Author

winlinvip commented Dec 23, 2019

Deprecate Adobe HDS(f4m)(CN, EN). 3.0.77

The reasons are as follows:

  1. HDS has almost no usage in China, but there is some usage abroad. Due to its limited usage, there are very few updates and the support is not very comprehensive.
  2. New protocols such as DASH, CMAF, or HLS (fMP4) will continue to replace HDS, especially considering that Adobe is not actively updating its media protocol series.

HDS has been deprecated since SRS2 and is expected to be removed in SRS4, with a commit provided at that time.

TRANS_BY_GPT3

@winlinvip
Copy link
Member Author

winlinvip commented Dec 23, 2019

Deprecated BWT(bandwidth testing)(CN, EN). 3.0.78

BWT speed test is quite an important tool in practice, especially when there is a large area of lag. This is often caused by streaming issues. One important factor in streaming is insufficient bandwidth to the server, such as inadequate user exit or occupation.

After SRS supports speed testing, users can use Flash or tools to test their own bandwidth to the media server. It is more accurate than general speed testing tools, which usually test to their own servers. For example, the speed to Taobao may be fast, but it may not necessarily be fast to your own ECS.

The reasons for deprecation are as follows:

  1. The reason for deprecation is that Flash has been disabled by default, making it inconvenient for users to use the speed test feature. Speed testing is essentially a client-side tool that heavily relies on Flash. If the convenience is lost, this feature becomes less useful.
  2. Currently, HTTP protocol-based speed testing is more comprehensive. It allows for direct speed testing of HTTP-FLV streams on the client-side, enabling measurement of downstream bandwidth. Additionally, it is possible to deploy HTTP-PUSH-FLV (already supported by SRS) to measure upstream speed using the POST FLV method.

BWT has been deprecated since SRS3 and is expected to be retained in SRS4 but will be removed in SRS5.

TRANS_BY_GPT3

@winlinvip
Copy link
Member Author

winlinvip commented Dec 23, 2019

Deprecate Adobe FMS/AMS edge token traversing(CN, EN) authentication. 3.0.79

This is a type of authentication method, please refer to the Wiki for more details, mainly used for edge authentication.

The reasons for deprecation are as follows:

  1. Authentication belongs to SRS and external calls, and will be unified into HTTP callback method in the future. It should not support two sets of authentication transmission protocols.
  2. This authentication method is equivalent to forwarding metadata to the origin server within RTMP, using the origin server for authentication. It reuses the architecture of the origin server's edge and does something it shouldn't do, which is considered an unreasonable architecture.

Edge Token Traversing has been deprecated since SRS3 and is expected to be retained in SRS4 but will be removed in SRS5.

TRANS_BY_GPT3

@winlinvip
Copy link
Member Author

winlinvip commented May 26, 2020

Remove srs-librtmp support in SRS.

SRS2 supports exporting client libraries, but this makes the module structure of SRS more complex, as shown in the following figure:

+----------------+-------------------------------------+
| SRS/SRT server |    Programs in Main or Research     |
+----------------+--+------------+---------------------+
|  App(For SRS)     | Modules(1) |  research/librtmp   |
+-------------------+------------+---------------------+
|    Service(C/S apps over ST)   |     srs-librtmp     |
+--------------------------------+---------------------+
|   Protocol Stack(RTMP/HTTP/RTSP/JSON/AMF/Format)     |
+------------------------------------------------------+
|      Kernel(File, Codec, Stream, LB services)        |
+------------------------------------------------------+
|         Core(Macros and very low-level APIs)         |
+------------------------------------------------------+

If the srs-librtmp part is removed, the service layer can be eliminated, and it can be merged either upwards or downwards. The related code in the codebase can also be removed, allowing SRS to focus on the server.

Currently, there is librtmp for the RTMP protocol, so there is actually no need for SRS to provide a separate library as there are no significant differences.

Change reference: a3388bf6

TRANS_BY_GPT3

@winlinvip winlinvip reopened this Dec 1, 2020
@winlinvip winlinvip removed the wontfix label Jan 19, 2021
@winlinvip winlinvip self-assigned this Aug 23, 2021
@winlinvip
Copy link
Member Author

winlinvip commented Aug 23, 2021

RTSP

  • Ingesting RTSP to RTMP will always be supported, as it is supported by FFmpeg and is a typical scenario.

  • SRS as an RTSP server will be removed in the future because, in reality, there is no such scenario.

  • It does not support pushing RTSP streams from a camera to SRS. It only supports Ingest/FFmpeg pulling RTSP streams from a camera and then forwarding them to SRS. Refer to: PUSH RTSP is removed, does not support RTSP streaming #2304 (comment)

TRANS_BY_GPT3

@winlinvip winlinvip reopened this Aug 23, 2021
@winlinvip winlinvip modified the milestones: 4.0, 5.0 Nov 15, 2021
@winlinvip winlinvip changed the title About deprecated features. About deprecated features. 将要删除的过时的功能,请不要使用。 Nov 15, 2021
@winlinvip
Copy link
Member Author

winlinvip commented Nov 15, 2021

The HTTP RAW API has been removed in version 4.0. The reason is that complex configurations belong to the business system, and SRS is not suitable for completing business tasks on behalf of users, as it would cause a significant decrease in stability. Please refer to #2653.

TRANS_BY_GPT3

@winlinvip winlinvip changed the title About deprecated features. 将要删除的过时的功能,请不要使用。 About deprecated features. Deprecated features that will be removed, please do not use. Jul 28, 2023
@winlinvip winlinvip added the TransByAI Translated by AI/GPT. label Jul 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TransByAI Translated by AI/GPT.
Projects
None yet
Development

No branches or pull requests

2 participants