For WebRTC, SRS expect the h.264 codec is:
```
a=rtpmap:106 H264/90000
a=fmtp:106 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
```
But sometimes, the device does not support the profile, for example only bellow:
```
a=fmtp:123 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e033
a=fmtp:122 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=420033
a=fmtp:121 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640033
a=fmtp:120 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0033
```
So we should warning user about the profile missmatch, because it might not work.
----------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: LiPeng <lipeng19811218@gmail.com>
If your OS is not CentOS, Ubuntu, macOS, cygwin64, run of configure will fail with:
```
Your OS Linux is not supported.
```
For other linux systems, we should support an option:
```
./configure --generic-linux=on
```
Please note that you might still fail for other issues while configuring or building.
-------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: ChenGH <chengh_math@126.com>
For some use scenario, the publisher is invited when player want to view the stream:
1. Publisher connect to system, but does not publish any stream to SRS yet.
2. Player connect to system and start to request the stream.
3. System notifies publisher to publish stream to SRS.
4. Player play the stream from SRS.
Please notice that `system` means your business system, not SRS.
This is what we called `on-demand-live-streaming`, so when the last player stop to view the stream, what happends?
1. System needs to notify publisher to stop publish.
2. Or, SRS disconnect the publisher when idle(the last player stops playing).
This PR is for the solution 2, so that the cleanup is very simple, your system does not need to notify publisher to stop publish, because SRS has already disconnected the publihser.
---------
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
For compatibility, transform
rtmp://ip/app...vhost...VHOST/stream
to typical format:
rtmp://ip/app/stream?vhost=VHOST
This is used for some legacy devices, which does not
support standard HTTP url query string.
---------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: john <hondaxiao@tencent.com>
1. If achieve 50+ commits, you will be a TOC.
2. CONTRIBUTING.md rules MUST be approved by Winlin and 3+ TOC.
3. Each PR MUST be approved by 2+ TOC or Developers.
4. The name of TOC will be listed at README.md forever.
Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: LiPeng <lipeng19811218@gmail.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
Co-authored-by: ChenGH <chengh_math@126.com>