Jump to content

Multiple Audio Tracks


SSJ4Gokou

Recommended Posts

SSJ4Gokou

Hello Everyone,

 

I have an issue where an MKV has two audio tracks. 

 

1. Has the movie audio in 5.1

2. Commentary

 

When i play it on my Dish Joey only the commentary plays. There is nothing that I can do to change the tracks. I even tried starting the movie via the web client and using the remote to change the track, still no luck.

 

Is there something that I need to modify in the back end to push the correct audio to the Joey? Attached is the media information, as far as I can tell in the dashboard it should push the movie audio and not the commentary.

 

Any help would be greatly appreciated.

post-8776-0-83794800-1482209112_thumb.png

Link to comment
Share on other sites

SSJ4Gokou

Should be direct playing. I will need to check the logs and verify. If it was transcoding is there a solution? And if it's direct playing is there a solution?

Link to comment
Share on other sites

With transcoding yes because then we can control the output. With direct play not so much. At that point you need to control with your TV remote.

Link to comment
Share on other sites

SSJ4Gokou

Ok, so it is direct playing. Problem is the remote function only allows Back / Rewind / Play / Pause/ Stop/ Fast Forward / Next. I do not have an option to change audio tracks. Am I basically SoL?

Link to comment
Share on other sites

Ok. What i can do is update the profile to indicate that secondary audio tracks are not supported by the device. This means that once you select a secondary track, it will no longer direct play. That does't mean necessarily mean full video transcoding will be required though as sometimes we can just do a container swap.

Link to comment
Share on other sites

  • 1 year later...
WhyNotPurple

Ok. What i can do is update the profile to indicate that secondary audio tracks are not supported by the device. This means that once you select a secondary track, it will no longer direct play. That does't mean necessarily mean full video transcoding will be required though as sometimes we can just do a container swap.

I have this exact same issue with my NetCast LG TV (2013). It says it supports multiple audio streams, but it is never possible to select any using the TV remote. And the option is not available with Emby, when using "Play On".

 

How would I go about changing the LG TV profile to indicate that "secondary audio tracks are not supported by the device"?

 

Thank you for any help. And I know that this is an old thread, but I thought it would be better for posterity to post a reply than open a new thread.

Link to comment
Share on other sites

@@WhyNotPurple, so you want to force a full transcode for secondary audio tracks? have you tested any full transcodes on your netcast to date? i ask because i haven't personally tested dlna on a netcast LG.

Link to comment
Share on other sites

WhyNotPurple

@@WhyNotPurple, so you want to force a full transcode for secondary audio tracks? have you tested any full transcodes on your netcast to date? i ask because i haven't personally tested dlna on a netcast LG.

I'm pretty sure I have played some files that required full transcoding before, as my TV doesn't support HEVC. At least, I'm assuming the file was fully transcoded if I watched. I can try and find a HEVC file with dual audio and see if that works.

 

I'll get back to you, thanks for your reply!

Link to comment
Share on other sites

WhyNotPurple

@@Luke I have now tested with full transcoding, by taking a HEVC file and making a custom profile for the LG TV where the AAC audio codec was removed. The fully transcoded stream displayed correctly with the default audio track and subtitle track (see attachments for the logs).

 

However, I'm unable to change the audio or subtitle tracks. They are presented as options in the web-remote interface, but changing them has no effect on what's played on the TV. When I disconnect the "Play On" from the LG TV, I get the audio and subtitles as drop-down boxes on the media page. Would it be possible to have these drop-downs when connected to the TV, so that I can set the audio language before starting the episode? Forcing transcoding when the default audio track is not selected?

 

I did notice that it says "Condition: AudioChannels" in the LG TV DLNA profile, see attached PNG. No idea what it means though ;)

 

Thank you for any help you can provide.

 

 

ffmpeg-transcode-716f0aed-a3c5-4bc0-a7f3-95ab8efcebd0.txt

server-63651139200.txt

post-91025-0-50341600-1515578468_thumb.png

Link to comment
Share on other sites

  • 2 weeks later...

@@WhyNotPurple there is a condition for secondary audio channels you could try, meaning that any audio channel not marked as default would always require transcoding..

Link to comment
Share on other sites

WhyNotPurple

@@WhyNotPurple there is a condition for secondary audio channels you could try, meaning that any audio channel not marked as default would always require transcoding..

That sound like exactly what I'm looking for! How would I go about setting this condition? I assume I would have to change the DLNA profile.

Link to comment
Share on other sites

@@WhyNotPurple

 

It could go into a CodecProfile

    <CodecProfile type="VideoAudio">
      <Conditions>
        <ProfileCondition condition="NotEquals" property="IsSecondaryAudio" value="true" isRequired="false" />
      </Conditions>
      <ApplyConditions />
    </CodecProfile>

Link to comment
Share on other sites

  • 5 weeks later...
WhyNotPurple

@@Luke thank you for your reply and sorry for my late response, I was away at holiday.

 

Adding that to the XML didn't force anything to be transcoded that had multiple audio channels unfortunately. Thus I'm not able to switch audio channel during playback, and playback is stuck at the default audio channel.

 

The XML I'm using is the default 'LG Smart TV.xml' with the code you provided added:

<?xml version="1.0"?>
<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>LG Smart TV (edit)</Name>
  <Identification>
    <FriendlyName>LG.*</FriendlyName>
    <Headers>
      <HttpHeaderInfo name="User-Agent" value="LG" match="Substring" />
    </Headers>
  </Identification>
  <Manufacturer>Emby</Manufacturer>
  <ManufacturerUrl>https://emby.media</ManufacturerUrl>
  <ModelName>Emby Server</ModelName>
  <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription>
  <ModelNumber>01</ModelNumber>
  <ModelUrl>https://emby.media</ModelUrl>
  <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
  <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit>
  <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit>
  <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
  <AlbumArtPn>JPEG_SM</AlbumArtPn>
  <MaxAlbumArtWidth>480</MaxAlbumArtWidth>
  <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
  <MaxIconWidth>48</MaxIconWidth>
  <MaxIconHeight>48</MaxIconHeight>
  <MaxStreamingBitrate>140000000</MaxStreamingBitrate>
  <MaxStaticBitrate>140000000</MaxStaticBitrate>
  <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
  <MaxStaticMusicBitrate xsi:nil="true" />
  <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo>
  <TimelineOffsetSeconds>10</TimelineOffsetSeconds>
  <RequiresPlainVideoItems>false</RequiresPlainVideoItems>
  <RequiresPlainFolders>false</RequiresPlainFolders>
  <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar>
  <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
  <XmlRootAttributes />
  <DirectPlayProfiles>
    <DirectPlayProfile container="ts,mpegts,avi,mkv" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264" type="Video" />
    <DirectPlayProfile container="mp4,m4v" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264,mpeg4" type="Video" />
    <DirectPlayProfile container="mp3" type="Audio" />
    <DirectPlayProfile container="jpeg" type="Photo" />
  </DirectPlayProfiles>
  <TranscodingProfiles>
    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
  </TranscodingProfiles>
  <ContainerProfiles>
    <ContainerProfile type="Photo">
      <Conditions>
        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
      </Conditions>
    </ContainerProfile>
  </ContainerProfiles>
  <CodecProfiles>
    <CodecProfile type="Video" codec="mpeg4">
      <Conditions>
        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
      </Conditions>
      <ApplyConditions />
    </CodecProfile>
    <CodecProfile type="Video" codec="h264">
      <Conditions>
        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
      </Conditions>
      <ApplyConditions />
    </CodecProfile>
    <CodecProfile type="VideoAudio" codec="ac3,eac3,aac,mp3">
      <Conditions>
        <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
      </Conditions>
      <ApplyConditions />
    </CodecProfile>
    <CodecProfile type="VideoAudio">
      <Conditions>
        <ProfileCondition condition="NotEquals" property="IsSecondaryAudio" value="true" isRequired="false" />
      </Conditions>
      <ApplyConditions />
    </CodecProfile>
  </CodecProfiles>
  <ResponseProfiles>
    <ResponseProfile container="m4v" type="Video" mimeType="video/mp4">
      <Conditions />
    </ResponseProfile>
    <ResponseProfile container="ts,mpegts" type="Video" mimeType="video/mpeg">
      <Conditions />
    </ResponseProfile>
  </ResponseProfiles>
  <SubtitleProfiles>
    <SubtitleProfile format="srt" method="Embed" />
    <SubtitleProfile format="srt" method="External" />
  </SubtitleProfiles>
</Profile>
Link to comment
Share on other sites

WhyNotPurple

Now I changed the XML according to your directions, but without any changes in how Emby and the TV respond.

 

When going for playback of something on the LG TV, I can't select the audio or subtitle language before selecting to play. Then, once the video file is playing using the "Play On" functionality, I can select the audio and subtitle languages in the app. However, changing either has no effect. Adding the aforementioned things to the profile did not change this behaviour.

 

This is the profile XML that I used now (the same as before, just one line added): 

<?xml version="1.0"?>
<Profile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>LG Smart TV (edit)</Name>
  <Identification>
    <FriendlyName>LG.*</FriendlyName>
    <Headers>
      <HttpHeaderInfo name="User-Agent" value="LG" match="Substring" />
    </Headers>
  </Identification>
  <Manufacturer>Emby</Manufacturer>
  <ManufacturerUrl>https://emby.media</ManufacturerUrl>
  <ModelName>Emby Server</ModelName>
  <ModelDescription>UPnP/AV 1.0 Compliant Media Server</ModelDescription>
  <ModelNumber>01</ModelNumber>
  <ModelUrl>https://emby.media</ModelUrl>
  <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl>
  <EnableSingleAlbumArtLimit>false</EnableSingleAlbumArtLimit>
  <EnableSingleSubtitleLimit>false</EnableSingleSubtitleLimit>
  <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes>
  <AlbumArtPn>JPEG_SM</AlbumArtPn>
  <MaxAlbumArtWidth>480</MaxAlbumArtWidth>
  <MaxAlbumArtHeight>480</MaxAlbumArtHeight>
  <MaxIconWidth>48</MaxIconWidth>
  <MaxIconHeight>48</MaxIconHeight>
  <MaxStreamingBitrate>140000000</MaxStreamingBitrate>
  <MaxStaticBitrate>140000000</MaxStaticBitrate>
  <MusicStreamingTranscodingBitrate>192000</MusicStreamingTranscodingBitrate>
  <MaxStaticMusicBitrate xsi:nil="true" />
  <ProtocolInfo>http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*</ProtocolInfo>
  <TimelineOffsetSeconds>10</TimelineOffsetSeconds>
  <RequiresPlainVideoItems>false</RequiresPlainVideoItems>
  <RequiresPlainFolders>false</RequiresPlainFolders>
  <EnableMSMediaReceiverRegistrar>false</EnableMSMediaReceiverRegistrar>
  <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests>
  <XmlRootAttributes />
  <DirectPlayProfiles>
    <DirectPlayProfile container="ts,mpegts,avi,mkv" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264" type="Video" />
    <DirectPlayProfile container="mp4,m4v" audioCodec="aac,ac3,eac3,mp3,dca,dts" videoCodec="h264,mpeg4" type="Video" />
    <DirectPlayProfile container="mp3" type="Audio" />
    <DirectPlayProfile container="jpeg" type="Photo" />
  </DirectPlayProfiles>
  <TranscodingProfiles>
    <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
    <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3,aac,mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
    <TranscodingProfile container="jpeg" type="Photo" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" copyTimestamps="false" context="Streaming" enableSubtitlesInManifest="false" minSegments="0" segmentLength="0" breakOnNonKeyFrames="false" />
  </TranscodingProfiles>
  <ContainerProfiles>
    <ContainerProfile type="Photo">
      <Conditions>
        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
      </Conditions>
    </ContainerProfile>
  </ContainerProfiles>
  <CodecProfiles>
    <CodecProfile type="Video" codec="mpeg4">
      <Conditions>
        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="true" />
      </Conditions>
      <ApplyConditions />
    </CodecProfile>
    <CodecProfile type="Video" codec="h264">
      <Conditions>
        <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" />
        <ProfileCondition condition="LessThanEqual" property="VideoLevel" value="41" isRequired="true" />
      </Conditions>
      <ApplyConditions />
    </CodecProfile>
    <CodecProfile type="VideoAudio" codec="ac3,eac3,aac,mp3">
      <Conditions>
        <ProfileCondition condition="NotEquals" property="IsSecondaryAudio" value="true" isRequired="false" />
        <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
      </Conditions>
      <ApplyConditions />
    </CodecProfile>
    <CodecProfile type="VideoAudio">
      <Conditions>
        <ProfileCondition condition="NotEquals" property="IsSecondaryAudio" value="true" isRequired="false" />
      </Conditions>
      <ApplyConditions />
    </CodecProfile>
  </CodecProfiles>
  <ResponseProfiles>
    <ResponseProfile container="m4v" type="Video" mimeType="video/mp4">
      <Conditions />
    </ResponseProfile>
    <ResponseProfile container="ts,mpegts" type="Video" mimeType="video/mpeg">
      <Conditions />
    </ResponseProfile>
  </ResponseProfiles>
  <SubtitleProfiles>
    <SubtitleProfile format="srt" method="Embed" />
    <SubtitleProfile format="srt" method="External" />
  </SubtitleProfiles>
</Profile>
EDIT: I found a work-around. If I first play the file in my browser and there change the audio and subtitle language, it works. If I then subsequently change the "Play On" setting to the TV, the language settings remain. Finally, a solution that works (even if it is a bit more work)! Edited by WhyNotPurple
Link to comment
Share on other sites

In your first scenario, did this force a transcode or did it direct play? because if it direct played, then the emby remote control feature is unable to change tracks. at that point you'd have to just use your tv remote control.

Link to comment
Share on other sites

WhyNotPurple

In your first scenario, did this force a transcode or did it direct play? because if it direct played, then the emby remote control feature is unable to change tracks. at that point you'd have to just use your tv remote control.

That explains it then. It played with direct play. The TV doesn't allow me to select the audio track or change the subtitle language. It does show options for switching, but they are all greyed out, so I can only use Emby to change anything.

 

I was hoping that, with the XML changes above, Emby would start transcoding once I told it to use the second audio track in the Emby remote control feature.

Edited by WhyNotPurple
Link to comment
Share on other sites

The changes look like they should be sufficient. are you sure it is actually secondary audio? can i see the media info from the web app? thanks.

Link to comment
Share on other sites

WhyNotPurple

I tested it with this file, which has two audio streams, French and English. The media info is in the attached screenshot.

 

Could the fact that I'm not able to change the language using the Emby remote control option be related to the fact that it is also not possible to stop or pause playback with it? I expect that in order for transcoding to begin, the current playback has to be stopped. If the remote is not able to do that, than switching to transcoding is probably also not possible. But that's just my guess, based on having no knowledge of how Emby works ;)

 

And again, thank you for taking time to look into this!

post-91025-0-91826700-1520354096_thumb.png

Edited by WhyNotPurple
Link to comment
Share on other sites

you should be able to select the english track prior to playback using remote control and then that should force the transcode based on your profile.

Link to comment
Share on other sites

WhyNotPurple

you should be able to select the english track prior to playback using remote control and then that should force the transcode based on your profile.

I'm interested to know where I would select the audio track then. After I connect to the device on Emby, using the Play On button, all options to select audio tracks disappear. I can go into the remote, but unless I start playing something, there are no options there either.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...