| Age | Commit message (Collapse) | Author |
|
|
|
StreamInfo.ToUrl (#9369)
* Rework PR 6168
* Fix test
|
|
|
|
* Extract container, video and audio compatibility checks
* Extract audio compatibility checks
* Extract CheckVideoConditions
* Simplify direct audio stream check
|
|
Don't select audio stream and codec explicitly for copy when bitrate exceeds limit
Original-merge: e8514de33b59e24184cc7eb7f8df9cd5e850a7de
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
Never treat matroska as webm for audio playback
Original-merge: 344cc8b97baf5026d0c95824d5b5ee2522a7c284
Merged-by: Bond-009 <bond.009@outlook.com>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
Fix DTS in HLS
Original-merge: cea0c9594220778658c30acf640108c26191706e
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
Transcode to audio codec satisfied other conditions when copy check failed.
Original-merge: 8aa41d59041c792571530c514dd6d21ba22a1881
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Bond_009 <bond.009@outlook.com>
|
|
|
|
Set AudioCodec when building stream
Original-merge: a1658839998374eb61663c4681c34f192e00c80c
Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
|
|
|
|
|
|
Previously, we predicted whether the subtitle should be burned in with transcode reasons, but that was not accurate because the actual transcoding codec is only determined after the client has requested the stream. This pass through the option to the `DynamicHlsController` to handle the subtitle burn-in during the actual transcoding process. Now the client should be responsible to conditionally load the subtitle when this option is enabled.
|
|
|
|
|
|
|
|
This reverts commit de8bb15c
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Using the first profile's reason is somewhat arbitrary, as many clients' first profile may not be the most compatible one. For instance, browsers often set WebM as the first profile, which doesn’t support common codecs like H.264 and AAC by design. This causes `VideoCodecNotSupported` and `AudioCodecNotSupported` to be returned, even if the browser supports those codecs. Only use those reasons when all profiles indicate that the codec is not supported.
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Dmitry Lyzo <56478732+dmitrylyzo@users.noreply.github.com>
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
|
|
Co-authored-by: Nyanmisaka <nst799610810@gmail.com>
|
|
Currently, when specifying codec profiles, the client can only specify profiles applied to direct containers, with no way to apply a profile specifically to HLS or a specific HLS container. This limitation is not suitable for more complex client codec support scenarios.
To address this, a SubContainer field is added to CodecProfile. The client can now specify the main container as "hls" to apply the profile exclusively to HLS streams. Additionally, the SubContainer field allows the profile to be applied to a specific HLS container.
Currently, this is only used in StreamBuilder for HLS streams. Further changes may be required to extend its usage.
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Apply all codec conditions
Original-merge: fff4477a933a4b580fb255348191e8ddcba661a7
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Joshua M. Boniface <joshua@boniface.me>
|
|
Also deduplicates a bit of code inside of SeasonPathParser and adds some more tests
|
|
* Check MaxAudioChannels for directAudioStream candidates
The current stream builder logic does not check the channel limit when determining if the audio stream can be directly used, and this can cause some undesired effects:
- A high channel count surround sound stream might be picked even if a stereo one exists when the user requires stereo audio.
- The user's preferred audio codec might not be respected during the downmix because the requested codec is now forced to be the same as the original source.
Signed-off-by: gnattu <gnattuoc@me.com>
* Fix unit test
Signed-off-by: gnattu <gnattuoc@me.com>
* Set correct transcode reason and target channels for unit test
Signed-off-by: gnattu <gnattuoc@me.com>
* Match old stream selection behavior
Signed-off-by: gnattu <gnattuoc@me.com>
* Fix reason matching
Signed-off-by: gnattu <gnattuoc@me.com>
---------
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Add better audio VBR settings
|
|
|
|
Co-authored-by: Bond-009 <bond.009@outlook.com>
|
|
availability
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
This will allow the client selectively disable VBR audio when it causes problems.
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
This will improve flexibility due to overcome the complex compatibility situation of HLS
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Add VP9 as a valid HLS format to enable remuxing. This is useful when audio processing is required, but the VP9 video can be passed as-is to avoid unnecessary video transcoding.
No VP9 encoder is enabled and should not be enabled. AV1 and HEVC should be preferred over VP9 if video transcoding is required.
Signed-off-by: gnattu <gnattuoc@me.com>
|
|
Signed-off-by: standstaff <zhengxingru@yeah.net>
|
|
|
|
* Add MediaStreamProtocol enum
* Add default handling for enum during deserialization
---------
Co-authored-by: Cody Robibero <cody@robibe.ro>
|
|
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|