Samsung TV - RTMP and M3U8 support

samsung-smart-hub

#1

Hi, i have written a plugin to play some m3u8 and RTMP streams (it's working fine on chrome + IOS). but while running on Samsung TV (2014) it's giving error: requires features that aren't available in the app you're using

 

a little search and i can find this old thread.. https://forums.plex.tv/topic/90844-rtmp-support/?hl=rtmp

 

any update on support for M3U8 and RTMP?


#2

The new app will support RTMP, the current one doesn't.


#3

Thanks for update Orca, looking forward to new app.

but what about m3u8 support?


#4

m3u8 is the extension used with HLS. The current app can do HLS already but there are different forms of HLS, it may not play the latest ones with encryption.


#5

The new app will support RTMP, the current one doesn't.

Doesn't seem to be working unless I'm doing something wrong. I always get "Can't connect to Server" error when trying RTMP streams on the Samsung Smart Hub App while same streams work in Plex Web and in Plex Home Theater.

Has RTMP support been included in version 2?


#6

RTMP is only supported when transcoding. It's basically for channels that use it, like the Daily Show.


#7

RTMP is only supported when transcoding. It's basically for channels that use it, like the Daily Show.

I did more test and it works fine so I must investigate why the other stream I'm trying is not working.

Here is a sample that works just in case someone has the same problem and needs a sample for testing purpose.

# -*- coding: utf-8 -*-
TITLE  = u'Test Channel'
PREFIX = '/video/testchannel'

################################################################################
def Start():
  ObjectContainer.title1 = TITLE
  HTTP.CacheTime = CACHE_1HOUR

################################################################################
@handler(PREFIX, TITLE)
def testchannel_main_menu():
  oc = ObjectContainer()

  oc.add(
    rtmp_test(container = False)
  )

  return oc

################################################################################
@route(PREFIX + '/rtmp')
def rtmp_test(container = False):
  vco = VideoClipObject(
    key = Callback(rtmp_test, container = True ),
    rating_key = 'rtmp_test',
    title = 'Elephants Dream',
    thumb = Resource.ContentsOfURLWithFallback('https://orange.blender.org/wp-content/uploads/2006/05/edscore_cover_l.jpg'),
    items = [
      MediaObject(
        parts = [
          PartObject( key = Callback(PlayVideo) )
        ],
        protocols = [ Protocol.RTMP ]
      )
    ]
  )

  if container:
    return ObjectContainer( objects = [ vco ] )
  else:
    return vco

################################################################################
@indirect
def PlayVideo():
  return IndirectResponse(
    VideoClipObject,
    key = RTMPVideoURL(
      url = 'rtmp://fms.12E5.edgecastcdn.net/0012E5',
      clip = 'mp4:videos/8Juv1MVa-485.mp4'
    )
  )


#8

RTMP is only supported when transcoding. It's basically for channels that use it, like the Daily Show.

I didn't undestand exactly what that mean but after reading I think I understand it now. The PMS will transcode when it knows the length of the rtmp media and will not when it doesn't. So live streams are not supported.

I have been able to convert the rtmp streams to http m3u8 equivalents and Plex for Samsung Smart Hub works fine with those ones.