Vlc Media Player Release Notes

0 views
Skip to first unread message

Alarico Boyett

unread,
Aug 3, 2024, 5:32:08 PM8/3/24
to bulitacent

Recent Android versions require an icon in the notification that is displayed when capturing the screen. If desired, you can now customize the icon by calling setSmallIcon on the Notification.Builder returned by Session # createServiceNotificationBuilder.

Amazon IVS introduces support for streaming using the SRT protocol. SRT is an open-source transport technology optimized for live audio/video streaming. SRT enables secure and reliable transport of content across unpredictable, noisy networks, like the Internet. SRT offers multiple benefits when transporting live video content over the internet:

This release enables origin enforcement and geofencing outside of playback authorization. The IVS Low-Latency Streaming User Guide and API Reference were updated; see the Document History for details of the changes.

Added support for audio-only playback. Audio-only quality must be selected manually with setQuality(); it will not be selected automatically in auto quality mode. See Audio-Only Playback in the Player Web Guide.

Added support to Surfaceview-based preview for better performance. The existing getPreview methods in Session and StageStream continue to return a subclass of TextureView, but this may change in a future SDK version.

If your application depends on TextureView specifically, you can continue with no changes. You also can switch from getPreview to getPreviewTextureView to prepare for the eventual change of what the default getPreview returns.

The SDK now implements a new type of preview called ImagePreviewSurfaceTarget which works with the application-provided Android Surface object. It is not a subclass of Android View, which provides better flexibility.

We added renditionConfiguration to the RecordingConfiguration object. This affects three responses: CreateRecordingConfiguration, GetRecordingConfiguration, and GetStreamSession. We also added renditionConfiguration to the CreateRecordingConfiguration request.

Added a new sendTimedMetadata method to BroadcastSession, which allows sending a string through the same socket connection as the current broadcast. This string has timing information attached and can be received by the IVS Player SDK.

Fixed an issue where viewers could lose audio after a broadcast session is interrupted by a phone call. The workaround (restarting the broadcast session after a phone-call interruption) is no longer needed.

Resolved an issue on iOS 16.5 and above where video bitrate gradually degrades after either: (1) approximately 20 minutes if not using auto-bitrate with b-frames turned off, or (2) approximately 20 minutes from reaching IVSVideoConfiguration.maxBitrate and the network connection has remained stable, with b-frames turned off.

ADVANCED_SD: Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at SD quality (480p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.

ADVANCED_HD: Video is transcoded; multiple qualities are generated from the original input, to automatically give viewers the best experience for their devices and network conditions. Input resolution can be up to 1080p and bitrate can be up to 8.5 Mbps; output is capped at HD quality (720p). You can select an optional transcode preset (see below). Audio for all renditions is transcoded, and an audio-only rendition is available.

When you have joined a Stage and have not attached a microphone to the Stage, the new default behavior when entering the background is to stay in the Stage instead of leaving automatically. This enables the use case of listening to a Stage as a viewer-only participant while in the background.

Fixed a bitrate degradation issue on iOS 16.4. I, for both RTMP (without stages) and WebRTC (with stages). If you had implemented a workaround on your app (by enabling b frame), you can remove it after installing this update.

The maximum number of participants who can be connected to a stage at once was increased from 12 to 1,000. At most 12 participants can be publishing to a stage at once and at most 1,000 can be subscribing at once. For more information see Enabling Multiple Hosts on an Amazon IVS Stream and Amazon IVS Service Quotas.

Amazon IVS now supports RTMP (Real-Time Messaging Protocol) streaming, in addition to RTMPS. RTMPS is the secure version of RTMP. We recommend using RTMPS for secure ingest, unless you have specific and verified use cases that require RTMP.

This is the first release of new functionality: you can now combine video from multiple participants into one live stream. A stage is a virtual space where participants can exchange audio and video in real time. You can then broadcast a stage to channels to reach a larger audience, and you can build applications where audience members can be brought "on stage" to contribute to the live conversation. For details, see:

Depending on how your gradle file is configured (using classifier), you can download the SDK without or without stage support. The SDK without stage support is smaller. For details, see Broadcast SDK: Android Guide.

The auto-record-to-S3 feature now supports byte-range playlist generation, in addition to standard HLS playlists. For more information, see Auto-Record to Amazon S3 ("Recording Contents," "Byte-Range Playlists," and new byte_range_playlist fields in JSON examples for recording_started and recording_ended).

To support Kotlin Coroutines, we added new IVS Chat Messaging APIs in the com.amazonaws.ivs.chat.messaging.coroutines package. Also see the new Kotlin Coroutines tutorial; part 1 (of 2) is Chat Rooms.

When Auto-Record to Amazon S3 is enabled, HLS manifest files are created. Those files now contain HLS Program-Date-Time (PDT) tags indicating the wall-clock time for every HLS segment when produced, using the UTC ISO-8601 format.

Fixed a bug where the Device.Descriptior returned by a non-Camera device subclassing SurfaceSource would provide a unique deviceId and urn on each call, making those properties unreliable for identifying devices.

Fixed a bug where the preferredAudioInput property on a BroadcastConfiguration.Mixer.Slot was null when queried by Mixer.getSlots(), if the associated slot had a preferredAudioInput value of Device.Descriptor.DeviceType.MICROPHONE when it was added.

Slots using the camera provided by the SDK and configured to a 9:16 portrait aspect ratio now correctly use the matching 9:16 camera ratio. (Previously they used a 3:4 camera ratio.) Slots using the FIT aspect mode now use the entire space. (Previously they were letterboxed.)

Added the onTransmissionStatsChanged method. It contains more detailed transmission statistics than onBroadcastQualityChanged and onNetworkHealthChanged. We deprecated the latter two methods and we recommend you use onTransmissionStatsChanged instead.

This is the first release of new functionality. If your stream is configured for Auto-Record to Amazon S3, you can now specify a window of time during which, if your stream is interrupted and a new stream is started, Amazon IVS tries to record to the same S3 prefix as the previous stream. In other words, if a broadcast disconnects and then reconnects within the specified interval, the multiple streams are considered a single broadcast and merged. For more information, see:

Fixed compatibility issues with iOS 16 that prevented audio encoding, causing all broadcasts to fail. This issue impacts all previous versions of the IVS Broadcast SDK for iOS. Version 1.5.1 is required to broadcast on iOS 16.

Fixed an issue when playing recorded content on an iOS mobile browser using the Video.js integration: the replay button now works. The prior workaround (hiding the replay button when initializing Video.js) is no longer required.

Broadcasts experiencing extremely high latency will be ended with error code 20401 and this message: "The broadcast has ended because the network got too far behind. Check that you have a stable connection or reduce the broadcast bitrate." The threshold latency value for this is likely to change over time; currently it is 45 seconds.

When using IVSReplayKitBroadcastSession for screen share, we recommend that you call IVSReplayKitBroadcastSession::broadcastFinished in RPBroadcastSampleHandler::broadcastFinished to ensure proper shutdown of the stream. Failure to do this might result in the stream staying live until it times out.

This release improves how Amazon IVS processes vertical input; e.g., content broadcast from mobile devices where the height is greater than the width. This change is being rolled out over time, as explained at the end of this post.

(Affects Standard channels only) The only renditions that are generated are those with width less than or equal to your input width. For example, if your input is 720x1280, you get 720p, 480p, 360p, and 160p renditions. If your input width is between renditions, you get all renditions with lower widths than your input. For example, here is how this change impacts 540x960 input:

(Affects Standard and Basic channels) Renditions for vertical input use a more conventional naming scheme based on width instead of height. For example, 360x640 input to a Basic channel has one output rendition named 360p.

This name appears in video playlists as the NAME attribute and in the user-facing quality selector (example). The name also is used as the Amazon S3 directory name for recorded assets. For example, for 360x640 input, the quality selector and Auto-Record to Amazon S3 directory name is 360p60 (the old value was 640p60).

c80f0f1006
Reply all
Reply to author
Forward
0 new messages