Wowza Community

Can't play HLS on LG SmartTV model 2012, 2013

Hello every one,

i have wowza 4.0 on my server. all devices can play very good on RTMP, HLS, HDS,… but LG smart tv model 2012, 2013 could not play on HLS.

please help me.

my Application.xml file

<?xml version="1.0" encoding="UTF-8"?>
<Root version="1">
        <Application>
                <Name>vod</Name>
                <AppType>VOD</AppType>
                <Description></Description>
                <!-- Uncomment to set application level timeout values
                <ApplicationTimeout>60000</ApplicationTimeout>
                <PingTimeout>12000</PingTimeout>
                <ValidationFrequency>8000</ValidationFrequency>
                <MaximumPendingWriteBytes>0</MaximumPendingWriteBytes>
                <MaximumSetBufferTime>60000</MaximumSetBufferTime>
                <MaximumStorageDirDepth>25</MaximumStorageDirDepth>
                -->
                <Connections>
                        <AutoAccept>true</AutoAccept>
                        <AllowDomains></AllowDomains>
                </Connections>
                <!--
                        StorageDir path variables
                        ${com.wowza.wms.AppHome} - Application home directory
                        ${com.wowza.wms.ConfigHome} - Configuration home directory
                        ${com.wowza.wms.context.VHost} - Virtual host name
                        ${com.wowza.wms.context.VHostConfigHome} - Virtual host config directory
                        ${com.wowza.wms.context.Application} - Application name
                        ${com.wowza.wms.context.ApplicationInstance} - Application instance name
                -->
                <Streams>
                        <StreamType>default</StreamType>
                        <StorageDir>/mnt/movies</StorageDir>
                        <KeyDir>/mnt/vod_keys</KeyDir>
                        <!-- LiveStreamPacketizers (separate with commas): cupertinostreamingpacketizer, smoothstreamingpacketizer, sanjosestreamingpacketizer, mpegdashstreamingpacketizer, cupertin
ostreamingrepeater, smoothstreamingrepeater, sanjosestreamingrepeater, mpegdashstreamingrepeater, dvrstreamingpacketizer, dvrstreamingrepeater -->
                        <LiveStreamPacketizers></LiveStreamPacketizers>
                        <!-- Properties defined here will override any properties defined in conf/Streams.xml for any streams types loaded by this application -->
                        <Properties>
                                <Property>
                                        <Name>cupertinoEnableDataEvents</Name>
                                        <Value>false</Value>
                                        <Type>Boolean</Type>
                                </Property>
                        </Properties>
                </Streams>
                <Transcoder>
                        <!-- To turn on transcoder set to: transcoder -->
                        <LiveStreamTranscoder></LiveStreamTranscoder>
                        <!-- [templatename].xml or ${SourceStreamName}.xml -->
                        <Templates>${SourceStreamName}.xml,transrate.xml</Templates>
                        <ProfileDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles</ProfileDir>
                        <TemplateDir>${com.wowza.wms.context.VHostConfigHome}/transcoder/templates</TemplateDir>
                        <Properties>
                        </Properties>
                </Transcoder>
                <DVR>
                        <!-- As a single server or as an origin, use dvrstreamingpacketizer in LiveStreamPacketizers above -->
                        <!-- Or, in an origin-edge configuration, edges use dvrstreamingrepeater in LiveStreamPacketizers above -->
                        <!-- As an origin, also add dvrchunkstreaming to HTTPStreamers below -->
                        <!-- If this is a dvrstreamingrepeater, define Application/Repeater/OriginURL to point back to the origin -->
                        <!-- To turn on DVR recording set Recorders to dvrrecorder.  This works with dvrstreamingpacketizer  -->
                        <Recorders></Recorders>
                        <!-- As a single server or as an origin, set the Store to dvrfilestorage-->
                        <!-- edges should have this empty -->
                        <Store></Store>
                        <!--  Window Duration is length of live DVR window in seconds.  0 means the window is never trimmed. -->
                        <WindowDuration>0</WindowDuration>
                        <!-- Storage Directory is top level location where dvr is stored.  e.g. c:/temp/dvr -->
                        <StorageDir>${com.wowza.wms.context.VHostConfigHome}/dvr</StorageDir>
                        <!-- valid ArchiveStrategy values are append, version, delete -->
                        <ArchiveStrategy>append</ArchiveStrategy>
                        <!-- Properties for DVR -->
                        <Properties>
                        </Properties>
                </DVR>
                <TimedText>
                        <!-- VOD caption providers (separate with commas): vodcaptionprovidermp4_3gpp, vodcaptionproviderttml, vodcaptionproviderwebvtt,  vodcaptionprovidersrt, vodcaptionprovidersc
c -->
                        <VODTimedTextProviders>vodcaptionprovidermp4_3gpp</VODTimedTextProviders>
                        <!-- Properties for TimedText -->
                        <Properties>
                        </Properties>
                </TimedText>
                <!-- HTTPStreamers (separate with commas): cupertinostreaming, smoothstreaming, sanjosestreaming, mpegdashstreaming, dvrchunkstreaming -->
                <HTTPStreamers>cupertinostreaming</HTTPStreamers>
                <MediaCache>
                        <MediaCacheSourceList></MediaCacheSourceList>
                </MediaCache>
                <SharedObjects>
                        <StorageDir>${com.wowza.wms.context.VHostConfigHome}/applications/${com.wowza.wms.context.Application}/sharedobjects/${com.wowza.wms.context.ApplicationInstance}</StorageDir
>
                </SharedObjects>
                <Client>
                        <IdleFrequency>-1</IdleFrequency>
                        <Access>
                                <StreamReadAccess></StreamReadAccess>
                                <StreamWriteAccess></StreamWriteAccess>
                                <StreamAudioSampleAccess></StreamAudioSampleAccess>
                                <StreamVideoSampleAccess></StreamVideoSampleAccess>
                                <SharedObjectReadAccess>*</SharedObjectReadAccess>
                                <SharedObjectWriteAccess>*</SharedObjectWriteAccess>
                        </Access>
                </Client>
                <RTP>
                        <!-- RTP/Authentication/[type]Methods defined in Authentication.xml. Default setup includes; none, basic, digest -->
                        <Authentication>
                                <PublishMethod>block</PublishMethod>
                                <PlayMethod>block</PlayMethod>
                        </Authentication>
                        <!-- RTP/AVSyncMethod. Valid values are: senderreport, systemclock, rtptimecode -->
                        <AVSyncMethod>senderreport</AVSyncMethod>
                        <MaxRTCPWaitTime>12000</MaxRTCPWaitTime>
                        <IdleFrequency>75</IdleFrequency>
                        <RTSPSessionTimeout>90000</RTSPSessionTimeout>
                        <RTSPMaximumPendingWriteBytes>0</RTSPMaximumPendingWriteBytes>
                        <RTSPBindIpAddress></RTSPBindIpAddress>
                        <RTSPConnectionIpAddress>0.0.0.0</RTSPConnectionIpAddress>
                        <RTSPOriginIpAddress>127.0.0.1</RTSPOriginIpAddress>
                        <IncomingDatagramPortRanges>*</IncomingDatagramPortRanges>
                        <!-- Properties defined here will override any properties defined in conf/RTP.xml for any depacketizers loaded by this application -->
                        <Properties>
                        </Properties>
                </RTP>
                <MediaCaster>
                        <RTP>
                                <RTSP>
                                        <!-- udp, interleave -->
                                        <RTPTransportMode>interleave</RTPTransportMode>
                                </RTSP>
                        </RTP>
                        <StreamValidator>
                                <Enable>true</Enable>
                                <ResetNameGroups>true</ResetNameGroups>
                                <StreamStartTimeout>20000</StreamStartTimeout>
                                <StreamTimeout>12000</StreamTimeout>
                                <VideoStartTimeout>0</VideoStartTimeout>
                                <VideoTimeout>0</VideoTimeout>
                                <AudioStartTimeout>0</AudioStartTimeout>
                                <AudioTimeout>0</AudioTimeout>
                                <VideoTCToleranceEnable>false</VideoTCToleranceEnable>
                                <VideoTCPosTolerance>3000</VideoTCPosTolerance>
                                <VideoTCNegTolerance>-500</VideoTCNegTolerance>
                                <AudioTCToleranceEnable>false</AudioTCToleranceEnable>
                                <AudioTCPosTolerance>3000</AudioTCPosTolerance>
                                <AudioTCNegTolerance>-500</AudioTCNegTolerance>
                                <DataTCToleranceEnable>false</DataTCToleranceEnable>
                                <DataTCPosTolerance>3000</DataTCPosTolerance>
                                <DataTCNegTolerance>-500</DataTCNegTolerance>
                                <AVSyncToleranceEnable>false</AVSyncToleranceEnable>
                                <AVSyncTolerance>1500</AVSyncTolerance>
                                <DebugLog>false</DebugLog>
                        </StreamValidator>
                        <!-- Properties defined here will override any properties defined in conf/MediaCasters.xml for any MediaCasters loaded by this applications -->
                        <Properties>
                        </Properties>
                </MediaCaster>
                <MediaReader>
                        <!-- Properties defined here will override any properties defined in conf/MediaReaders.xml for any MediaReaders loaded by this applications -->
                        <Properties>
                        </Properties>
                </MediaReader>
                <MediaWriter>
                        <!-- Properties defined here will override any properties defined in conf/MediaWriter.xml for any MediaWriter loaded by this applications -->
                        <Properties>
                        </Properties>
                </MediaWriter>
                <LiveStreamPacketizer>
                        <!-- Properties defined here will override any properties defined in conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
                        <Properties>
                        </Properties>
                </LiveStreamPacketizer>
                <HTTPStreamer>
                        <!-- Properties defined here will override any properties defined in conf/HTTPStreamers.xml for any HTTPStreamer loaded by this applications -->
                        <Properties>
                                <Property>
                                        <Name>cupertinoEnableDataEvents</Name>
                                        <Value>false</Value>
                                        <Type>Boolean</Type>
                                </Property>
                                <Property>
                                        <Name>httpOriginMode</Name>
                                        <Value>on</Value>
                                        <Type>String</Type>
                                </Property>
                                <Property>
                                        <Name>cupertinoCacheControlPlaylist</Name>
                                        <Value>max-age=1</Value>
                                        <Type>String</Type>
                                </Property>
                                <Property>
                                        <Name>cupertinoCacheControlMediaChunk</Name>
                                        <Value>max-age=10800</Value>
                                        <Type>String</Type>
                                </Property>
                                <Property>
                                        <Name>smoothCacheControlPlaylist</Name>
                                        <Value>max-age=1</Value>
                                        <Type>String</Type>
                                </Property>
                                <Property>
                                        <Name>smoothCacheControlMediaChunk</Name>
                                        <Value>max-age=10800</Value>
                                        <Type>String</Type>
                                </Property>
                                <Property>
                                        <Name>smoothCacheControlDataChunk</Name>
                                        <Value>max-age=10800</Value>
                                        <Type>String</Type>
                                </Property>
                                <Property>
                                        <Name>smoothStreamingEncryptionRandomIV</Name>
                                        <Value>false</Value>
                                        <Type>Boolean</Type>
                                </Property>
                                <Property>
                                        <Name>sanjoseCacheControlPlaylist</Name>
                                        <Value>max-age=1</Value>
                                        <Type>String</Type>
                                </Property>
                                <Property>
                                        <Name>sanjoseCacheControlMediaChunk</Name>
                                        <Value>max-age=10800</Value>
                                        <Type>String</Type>
                                </Property>
                                <Property>
                                        <Name>mpegdashCacheControlPlaylist</Name>
                                        <Value>max-age=1</Value>
                                        <Type>String</Type>
                                </Property>
                                <Property>
                                        <Name>mpegdashCacheControlMediaChunk</Name>
                                        <Value>max-age=10800</Value>
                                        <Type>String</Type>
                                </Property>
                        </Properties>
                </HTTPStreamer>
                <Manager>
                        <!-- Properties defined are used by the Manager -->
                        <Properties>
                        </Properties>
                </Manager>
                <Repeater>
                        <OriginURL></OriginURL>
                        <QueryString><![CDATA[]]></QueryString>
                </Repeater>
                <StreamRecorder>
                        <Properties>
                        </Properties>
                </StreamRecorder>
                <Modules>
                        <Module>
                                <Name>base</Name>
                                <Description>Base</Description>
                                <Class>com.wowza.wms.module.ModuleCore</Class>
                        </Module>
                        <Module>
                                <Name>logging</Name>
                                <Description>Client Logging</Description>
                                <Class>com.wowza.wms.module.ModuleClientLogging</Class>
                        </Module>
                        <Module>
                                <Name>flvplayback</Name>
                                <Description>FLVPlayback</Description>
                                <Class>com.wowza.wms.module.ModuleFLVPlayback</Class>
                        </Module>
                </Modules>
                <!-- Properties defined here will be added to the IApplication.getProperties() and IApplicationInstance.getProperties() collections -->
                <Properties>
                </Properties>
        </Application>
</Root>

Hi,

I suspect this is simply a limitation of the TV. Many Smart TV’s have issues with HLS streams, or even Flash streams unless of a particular version etc. Does your TV have an App Store? There may be an app available that will playback HLS streams. The SDK for LG Smart TV’s do mention HLS as a protocol that was added for developers to use.

This page says that WebOS (which it appears is what LG uses for their Smart TV) can play HLS with certain caveats. Maybe check your [wowza-install]/logs/ access and error files to see if anything is returned back when trying to stream to your TV. If so please post them here.

Paul

Hi Paul,

i think LG smart tv model 2012 & 2013 not run WebOS, it run on NetCast.

LG with WebOS can play all my HLS Stream.

please see log report.

[root@wowza01 WowzaStreamingEngineVod1]# tail -f logs/wowzastreamingengine_access.log|grep Friend_S3_ep02
2014-12-02 09:17:34 ICT comment server INFO 200 - HTTPStreamerSessions.removeHTTPOriginSession[_defaultVHost_:vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4[cupertinostreaming]:1864403867]: remove - - - 324006.225 - - - - - - - - - - - - - - - - - - - - - - - - -
2014-12-02 09:17:34 ICT stop stream INFO 200 mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4 - _defaultVHost_ vod _definst_ 117.199 wowza_vod 1933 http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8?token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b 192.168.1.251 http (cupertino) - Mozilla/5.0 (Unknown; Linux armv7l) AppleWebKit/537.1+ (KHTML, like Gecko) Safari/537.1+ LG Browser/6.00.00(+mouse+SCREEN+TUNER; LGE; NETCAST4; 03.02.30; 0x00000001;); LG NetCast.TV-2013 /03.02.30 (LG, NETCAST4, wireless) 1864403867 0 1432199 50721 17434 0 1422408 mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4 token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4 mp4 150736695 1367.595 http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8?token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8 token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8 token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b
2014-12-02 09:17:34 ICT destroy stream INFO 200 mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4 - _defaultVHost_ vod _definst_ 117.199 wowza_vod 1933 http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8?token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b 192.168.1.251 http (cupertino) - Mozilla/5.0 (Unknown; Linux armv7l) AppleWebKit/537.1+ (KHTML, like Gecko) Safari/537.1+ LG Browser/6.00.00(+mouse+SCREEN+TUNER; LGE; NETCAST4; 03.02.30; 0x00000001;); LG NetCast.TV-2013 /03.02.30 (LG, NETCAST4, wireless) 1864403867 0 1432199 50721 17434 0 1422408 mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4 token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4 mp4 150736695 1367.595 http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8?token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8 token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8 token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b
2014-12-02 09:17:34 ICT disconnect cupertino INFO 200 1864403867 - _defaultVHost_ vod _definst_ 324006.226 wowza_vod 1933 http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8?token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b 192.168.1.251 http (cupertino) - Mozilla/5.0 (Unknown; Linux armv7l) AppleWebKit/537.1+ (KHTML, like Gecko) Safari/537.1+ LG Browser/6.00.00(+mouse+SCREEN+TUNER; LGE; NETCAST4; 03.02.30; 0x00000001;); LG NetCast.TV-2013 /03.02.30 (LG, NETCAST4, wireless) 1864403867 0 1432199 - 17434 - - mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4 token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4 mp4 150736695 1367.595 http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8?token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8 token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b http://wowza_vod:1933/vod/_definst_/mp4:mp4/movies/720p/tvseries/friends/Friend_S3_ep02.mp4/playlist.m3u8 token=jahsdkjhkjsahdk&did=10:08:c1:8f:25:5b

hi,

thank for your reply, i can play hls with encode profile when ref < 8., but my vod storage very large, i can’t re-encode. do you have any solutions?.

cabac=1 / ref=8 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

thanks.

Hi,

Do you ever get a “play” event in your logs. Or any indication that it’s streaming at all? The few lines shown just show the stream terminating. The Netcast SDK apparently says HLS streams are compatible, so I can’t really say what the problem is. Could be some form of DRM on the TV, which is not unusual to find on such devices…

Paul