1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00
srs/trunk/src/kernel
Jacob Su eb788a62ad
HTTP-TS: Support guess_has_av for audio only stream. v6.0.141 (#4063)
## Describe ##
http_remux feature support config `has_audio`, `has_video` &
`guess_has_av` prop.


282d94d7bb/trunk/src/app/srs_app_http_stream.cpp (L630-L632)

Take `http_flv` as example, `srs` can accept both RTMP streams with only
audio, only video or both audio and video streams. It is controlled by
above three properties.

But `guess_has_av` is not implemented by `http_ts`. The problem is that
if I want publish a RTMP stream with audio or video track, the
`has_audio` and `has_video`, which are default true/on, must to be
config to match the RTMP stream, otherwise the `mpegts.js` player can't
play the `http-ts` stream.

## How to reproduce  ##

1. `export SRS_VHOST_HTTP_REMUX_HAS_AUDIO=on; export
SRS_VHOST_HTTP_REMUX_HAS_VIDEO=on; export
SRS_VHOST_HTTP_REMUX_GUESS_HAS_AV=on; ./objs/srs -c
conf/http.ts.live.conf`
2. publish rtmp stream without video: `ffmpeg -re -stream_loop -1 -i
srs/trunk/doc/source.200kbps.768x320.flv -vn -acodec copy -f flv
rtmp://localhost/live/livestream`
3. open chrome browser, open
`http://localhost:8080/players/srs_player.html?schema=http`, go to
`LivePlayer`, input URL: `http://localhost:8080/live/livestream.ts`,
click play.
4. the `http://localhost:8080/live/livestream.ts` can not play.

## Solution ##

Let `http-ts` support `guess_has_av`, `http-flv` already supported. The
`guess_has_av` default value is ture/on, so the `http-ts|flv` can play
any streams with audio, video or both.

---------

Co-authored-by: Winlin <winlinvip@gmail.com>
2024-07-24 11:00:18 +08:00
..
srs_kernel_aac.cpp UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 (#4109) 2024-07-09 10:29:36 +08:00
srs_kernel_aac.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_balance.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_balance.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_buffer.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_buffer.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_codec.cpp UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 (#4109) 2024-07-09 10:29:36 +08:00
srs_kernel_codec.hpp RTC: Support dropping h.264 SEI from NALUs. v5.0.213 v6.0.125 (#4057) 2024-06-03 16:25:49 +08:00
srs_kernel_consts.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_consts.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_error.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_error.hpp SmartPtr: Support detect memory leak by valgrind. v6.0.132 (#4102) 2024-06-29 11:16:32 +08:00
srs_kernel_file.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_file.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_flv.cpp UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 (#4109) 2024-07-09 10:29:36 +08:00
srs_kernel_flv.hpp Fix misspelling error in app config. v6.0.133 (#4077) 2024-06-29 11:18:26 +08:00
srs_kernel_io.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_io.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_kbps.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_kbps.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_log.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_log.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_mp3.cpp UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 (#4109) 2024-07-09 10:29:36 +08:00
srs_kernel_mp3.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_mp4.cpp UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 (#4109) 2024-07-09 10:29:36 +08:00
srs_kernel_mp4.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_ps.cpp UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 (#4109) 2024-07-09 10:29:36 +08:00
srs_kernel_ps.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_rtc_rtcp.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_rtc_rtcp.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_rtc_rtp.cpp WHIP: Fix bug for converting WHIP to RTMP/HLS. v5.0.208 v6.0.113 (#3920) 2024-02-06 14:06:34 +08:00
srs_kernel_rtc_rtp.hpp WHIP: Fix bug for converting WHIP to RTMP/HLS. v5.0.208 v6.0.113 (#3920) 2024-02-06 14:06:34 +08:00
srs_kernel_stream.cpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_stream.hpp Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
srs_kernel_ts.cpp HTTP-TS: Support guess_has_av for audio only stream. v6.0.141 (#4063) 2024-07-24 11:00:18 +08:00
srs_kernel_ts.hpp HTTP-TS: Support guess_has_av for audio only stream. v6.0.141 (#4063) 2024-07-24 11:00:18 +08:00
srs_kernel_utility.cpp UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 (#4109) 2024-07-09 10:29:36 +08:00
srs_kernel_utility.hpp Fix misspelling error in app config. v6.0.133 (#4077) 2024-06-29 11:18:26 +08:00