Page 1 of 1

Samsung J-series profile for Serviio 1.4

PostPosted: Sun Mar 20, 2016 6:07 pm
by panfor
Hello!
My Question is if there is a way to rewrite profile from Serviio 1.6 to Serviio 1.4?

I need this one for Samsung J-Series:


  Code:

   <Profile id="sam_j" name="Samsung TV / player (J-series)" extendsProfileId="1">
      <ContentDirectoryMessageBuilder>org.serviio.upnp.service.contentdirectory.SamsungTizenDLNAMessageBuilder</ContentDirectoryMessageBuilder>
      <ResourceTransportProtocolHandler>org.serviio.upnp.protocol.http.transport.SamsungWiseLinkProtocolHandler</ResourceTransportProtocolHandler>
      <Detection>
         <UPnPSearch>            
            <ModelName>(^[A-Z]{2}\d{2}J[A-Z]?\d{3,4}.*)</ModelName>
            <ModelNumber>(1\.0)|(AllShare1\.0)</ModelNumber>
         </UPnPSearch>
         <HttpHeaders>
            <!-- some models only support headers -->
            <User-Agent>(.*SEC_HHP_\[TV\] [A-Z]{2}\d{2}J[A-Z]?\d{3,4}.*)</User-Agent>
         </HttpHeaders>
      </Detection>
        <MediaFormatProfiles>
            <MediaFormatProfile mime-type="video/x-matroska">MATROSKA</MediaFormatProfile>
            <MediaFormatProfile mime-type="audio/x-flac">FLAC</MediaFormatProfile>           
        </MediaFormatProfiles>
      <ContentDirectoryDefinitionFilter>org.serviio.upnp.service.contentdirectory.definition.SamsungContentDirectoryDefinitionFilter</ContentDirectoryDefinitionFilter>   
      <H264LevelCheck>FILE_ATTRIBUTES</H264LevelCheck>
      <Transcoding>         
         <!-- Transcode all h264 video with HIGH/MAIN > Level 4.1 on MPEG-TS stream with MPEG2VIDEO and ac3 audio transcoding -->
         <Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3" aBitrate="192" maxVBitrate="15360" forceInheritance="true">
            <Matches container="*" vCodec="h264" profile="high_10" />
            <Matches container="*" vCodec="h264" profile="high" levelGreaterThan="4.2" />
            <Matches container="*" vCodec="h264" profile="main" levelGreaterThan="4.2" />
            <Matches container="mp4" vCodec="h265" /> <!-- in MKV it works, this would probably too but we don't have a matching media profile -->
                <Matches container="mp4" vCodec="mpeg4" aCodec="lpcm" />
                <Matches container="*" vCodec="dvvideo" />
                <Matches container="mp4" vCodec="mjpeg" />               
         </Video>
         <Video targetContainer="mpegts" targetACodec="ac3" forceInheritance="true">
            <Matches container="wtv" vCodec="h264"/> 
         </Video>   
         <Video targetContainer="mpegts" forceInheritance="true">
            <Matches container="wtv" />
         </Video>
         <Audio targetContainer="mp3" forceInheritance="true">
            <Matches container="mp4" />
            <Matches container="ogg" />
            <Matches container="adts" />
            <Matches container="mp2" />
            <Matches container="wavpack" />
            <Matches container="mpc" />
                <Matches container="ape" />
                <Matches container="asf" />
         </Audio>
      </Transcoding>
      <OnlineTranscoding>
         <Video targetContainer="mpegts" targetACodec="ac3" aBitrate="384">
            <Matches container="applehttp" vCodec="h264"/>
         </Video>      
         <Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3" aBitrate="384">
            <Matches container="asf" /> <!-- mms -->
            <Matches container="flv" /> <!-- transcoding all flv streams, even h264, to avoild premature disconnects, to avoid this, use Samsung C/D profile -->
         </Video>
      </OnlineTranscoding>
      <GenericTranscoding>
         <Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3" aBitrate="192"/>
      </GenericTranscoding>
      <AutomaticImageRotation>true</AutomaticImageRotation>
        <LimitImageResolution>false</LimitImageResolution>
      <Subtitles>
         <SoftSubs mime-type="smi/caption" />
         <HardSubs>
            <TextBased supported="false" />
         </HardSubs>
      </Subtitles>   
      <AllowChunkedTransfer>false</AllowChunkedTransfer>
   </Profile>




Any help will be greatly appreciated :D

Re: Samsung J-series profile for Serviio 1.4

PostPosted: Sun Mar 20, 2016 8:06 pm
by atc98092
Before Serviio added the J profile, I just used the H profile with no issues. Is there something particular you need from the J profile? Is your set a JU (UHD)?

Re: Samsung J-series profile for Serviio 1.4

PostPosted: Mon Mar 21, 2016 7:22 am
by panfor
My TV is Samsung UE48J6300 and Serviio 1.4 - there is no Samsung H profile in Serviio 1.4. None of Samsung profiles from Serviio 1.4 works. When trying to play online sources I have error message "file not supported".

Following profile sam_h from Serviio 1.5 - not working also:

  Code:
   <Profile id="sam_h" name="Samsung TV / player (H-series)" extendsProfileId="1">
      <ContentDirectoryMessageBuilder>org.serviio.upnp.service.contentdirectory.SamsungDLNAMessageBuilder</ContentDirectoryMessageBuilder>
      <ResourceTransportProtocolHandler>org.serviio.upnp.protocol.http.transport.SamsungWiseLinkProtocolHandler</ResourceTransportProtocolHandler>
      <Detection>
         <UPnPSearch>
            <FriendlyName>(^\[TV\][A-Z]{2}\d{2}H[A-Z]?\d{3,4}.*)</FriendlyName>
            <ModelNumber>(1\.0)|(AllShare1\.0)</ModelNumber>
         </UPnPSearch>
         <HttpHeaders>
            <!-- for BD players -->
            <User-Agent>(.*SEC_HHP_BD-H.*)|(.*SEC_HHP_\[(HT|BD)\]H.*)|(\[BD\]H.*)</User-Agent>
         </HttpHeaders>
      </Detection>
      <DeviceDescription>
           <ExtraElements>
              &lt;sec:ProductCap&gt;smi,DCM10,getMediaInfo.sec,getCaptionInfo.sec&lt;/sec:ProductCap&gt;
            &lt;sec:X_ProductCap&gt;smi,DCM10,getMediaInfo.sec,getCaptionInfo.sec&lt;/sec:X_ProductCap&gt;
           </ExtraElements>
        </DeviceDescription>
        <MediaFormatProfiles>
            <MediaFormatProfile mime-type="video/x-mkv">MATROSKA</MediaFormatProfile>
            <MediaFormatProfile mime-type="video/x-msvideo" name="">AVI</MediaFormatProfile>
            <MediaFormatProfile mime-type="audio/x-flac">FLAC</MediaFormatProfile>
        </MediaFormatProfiles>
      <ContentDirectoryDefinitionFilter>org.serviio.upnp.service.contentdirectory.definition.SamsungContentDirectoryDefinitionFilter</ContentDirectoryDefinitionFilter>   
      <H264LevelCheck>FILE_ATTRIBUTES</H264LevelCheck>
      <Transcoding>         
         <!-- Transcode all h264 video with HIGH/MAIN > Level 4.1 on MPEG-TS stream with MPEG2VIDEO and ac3 audio transcoding -->
         <Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3" aBitrate="192" forceInheritance="true">
            <Matches container="*" vCodec="h264" profile="high_10" />
            <Matches container="*" vCodec="h264" profile="high" levelGreaterThan="4.2" />
            <Matches container="*" vCodec="h264" profile="main" levelGreaterThan="4.2" />
            <Matches container="*" vCodec="h265" />
                <Matches container="mp4" vCodec="mpeg4" aCodec="lpcm" />
                <Matches container="mp4" vCodec="dvvideo" />
                <Matches container="mp4" vCodec="mjpeg" />
         </Video>
         <Video targetContainer="mpegts" targetACodec="ac3" forceInheritance="true">
            <Matches container="wtv" vCodec="h264"/> 
         </Video>   
         <Video targetContainer="mpegts" forceInheritance="true">
            <Matches container="wtv" />
         </Video>
         <!-- transcode wmv2-wmav2, not: wmv3-wmapro it works ok on E series-->
         <Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3" forceInheritance="true">
            <Matches container="asf" vCodec="wmv2" />
         </Video>
         <Audio targetContainer="lpcm" forceInheritance="true">
            <Matches container="mp4" />
            <Matches container="ogg" />
            <Matches container="adts" />
            <Matches container="mp2" />
            <Matches container="wavpack" />
            <Matches container="mpc" />
                <Matches container="ape" />
                <Matches container="asf" />
         </Audio>
      </Transcoding>
      <OnlineTranscoding>
         <Video targetContainer="mpegts" targetACodec="ac3" aBitrate="384">
            <Matches container="applehttp" vCodec="h264"/>
         </Video>      
         <Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3" aBitrate="384">
            <Matches container="asf" /> <!-- mms -->
            <Matches container="flv" /> <!-- transcoding all flv streams, even h264, to avoild premature disconnects, to avoid this, use Samsung C/D profile -->
         </Video>
      </OnlineTranscoding>
      <HardSubsTranscoding>
         <Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3" aBitrate="192"/>
      </HardSubsTranscoding>
      <AutomaticImageRotation>true</AutomaticImageRotation>
        <LimitImageResolution>false</LimitImageResolution>
        <Subtitles>
         <SoftSubs mime-type="smi/caption" />
      </Subtitles>
      <AllowChunkedTransfer>false</AllowChunkedTransfer>
   </Profile>



In logs I can see errors according:
- org.serviio.upnp.service.contentdirectory.SamsungDLNAMessageBuilder
- AllowChunkedTransfer
- h265

I suppose above are not implemented in Serviio 1.4 - can I replace it with another "functions"?

Re: Samsung J-series profile for Serviio 1.4

PostPosted: Mon Mar 21, 2016 11:54 pm
by atc98092
Is there some reason you need to stick with Serviio 1.4? 1.5 included a number of improvements, and 1.6 has added even more.

Also, be aware that Samsung changed their OS in 2015, which means the J series. They now use Tizen OS, and for some reason transcoded files are failing to playback, even though the the fully transcoded files will play fine after completion. Unfortunately, this is a Samsung issue, not Serviio. I have a number of files that the TV can't play, so I watch them with either my BD player or Roku.