Multimedia Streaming

The following questions are related to streaming media in applications.

You can retrieve various stream property information, such as the current bandwidth, current bitrate, and available bitrates, using the getCurrentStreamInfo() and getStreamingProperty() methods of the AVPlay API.

Make sure playback is in progress before retrieving the current stream properties.

   #avplay api    #stream property    #bitrate    #bandwidth

By default, the AVPlay API implements a 10 second or 15 MB buffer.

You can define the buffer size, in seconds or bytes, using the setBufferingParam() method. While there is no maximum buffer size, it is not recommended to modify the default values.

   #buffer    #avplay api

Switching the audio quality or video resolution during playback is not supported. However, you can switch between audio tracks during playback.

   #audio quality    #video resolution    #switch    #audio bitrate    #change

Yes, you can implement adaptive streaming with the AVPlay API. For more information, see Adaptive Streaming.

   #adaptive streaming    #avplay api    #hls    #http live streaming    #smooth streaming    #mpeg dash

Adaptive streaming media playback is implemented using the AVPlay API in the same way as other media. For more information, see Adaptive Streaming.

To enable streaming 4K UHD video, use the setStreamingProperty() method to set the SET_MODE_4K property to TRUE. For more information, see 4K UHD Video.

If you implement adaptive streaming that can change the video resolution, make sure the SET_MODE_4K property is TRUE when the stream switches to 4K UHD resolution.

   #4k    #uhd    #adaptive streaming    #avplay api    #adaptive bitrate streaming

Cookies can be used if the DRM implementation requires them. However, cookie reception must be handled on the server side.

Whenever possible, use local storage instead of cookies, since the application is not a Web page on the Internet, and consequently does not have a domain name.

   #http live streaming    #hls    #cookie    #local storage    #drm

The seekTo(), jumpForward(), and jumpBackward() methods of the AVPlay API are supported for live HLS streams. If you want to use live seek, the streaming server must maintain past and future segments. The seekable range is limited to the segments maintained on the server.

Note To retrieve the live stream duration, use the getStreamingProperty("GET_LIVE_DURATION") method instead of the getDuration() method.

Live seek is supported for Verimatrix DRM-protected content since 2016 TV models.

   #http live streaming    #hls    #seeking    #avplay api

No. Samsung TVs do not support the UDP protocol.

Multicast streaming is supported on 2012 to 2015 models using Samsung Legacy Platform, but only through the HTTP and RTP protocols.

   #multicast    #udp    #samsung legacy platform

MPEG-DASH data can be specified in various ways, such as using a number-based or time-based segment template, or as a byte range. For more information, see the ISO/IEC 23009-1 specification.

   #mpeg dash    #segment template    #number based    #time based    #byte range

No. Samsung TVs do not support media up or down-scaling. The media content must follow the resolution and FPS specifications for the applicable video codec.

   #different resolution    #fps    #specification    #scaling    #video codec

To prevent audio sync issues, make sure that all video resolutions in the HLS content have the same frame rate (FPS).

   #http live streaming    #hls    #video resolution    #audio sync    #frame rate    #fps

Check that the TV supports the specified HLS tag version. For more information, see HLS Tag Support.

   #http live streaming    #corrupted    #hls tag version