Jump to content


Photo

Why transcode video when only audio can't be DirecStreamed?

transcode audio aac hevc

Best Answer crusher11 , 24 March 2020 - 10:31 AM

If both audio and video are compatible it doesn't direct stream, it direct plays.

If the audio needs to be converted, that new audio needs to be recombined with the video. That's the step HVEC isn't compatible with. When direct playing it just reads the file as is, and nothing needs to be combined, so it doesn't require anything to be altered. Go to the full post


  • Please log in to reply
34 replies to this topic

#21 Happy2Play OFFLINE  

Happy2Play

    Trial and Error

  • Moderators
  • 19116 posts
  • Local time: 11:29 AM
  • LocationWashington State

Posted 25 March 2020 - 06:51 PM

Here is what has been in the wiki/knowledge base: https://support.emby...les/44001920144

If anyone sees anything needing change let me know.  I'll likely add some info to this page or at least a link on this page with info from this thread.

 

Direct Play

Media file is used AS IS without any modification. It can be sent from the Emby server or (some clients) allowed to be played directly from the file system. The media fits all the criteria needed by the client including:

  • Stored in a compatible file container playable by the client
  • Encoded with compatible codecs for the client
  • Encoded with a compatible bit rate for the client
  • Has a resolution compatible with the client
Direct Stream

Also known as transmuxing. The Media file is altered in real-time while being delivered to the client. This happens when the container of the media file is not compatible with the client, (.avi, .wmv, .ts, etc), but the resolution, bitrate, and codecs are supported.

In this case the server extracts the internal tracks of the media file such as the video, audio & subtitle tracks and rewrites the file in real-time to a compatible container format the client does support.

Direct Streaming does not touch the video or audio tracks in anyway so there is no loss of quality.

Transcoding

Transcoding takes place when one or more tracks in the media file are not compatible with the client app. This could be the video codec, audio codec, or subtitle being used. The media file could have a higher resolution then requested by the client app or the bit rate of the file could be higher then the client can presently use.

Transcoding at a high level, is taking already encoded content; decoding it; and then altering it. After altering, it is then reassembled/encoded back into a format compatible with the client app and the current settings it is using.

As an example, you might change the audio and/or video format (codec) from one to another, such as converting from an MPEG2 source (commonly used in broadcast television) to H.264 video and AAC audio (the most popular codecs for streaming).

Transcoding only the audio track is a light weight process. Transcoding video can be very taxing on the CPU in the server depending on the resolution, bitrate and codecs being used.

 

This is still a conflict of Emby's usage/display of these terms.

 

Direct Play is displayed when Emby streams the media.

 

Emby considers changing the Audio track as a Direct Stream.

 

Transcoding only appears if the Video track needs converting.


  • rechigo likes this

#22 maegibbons OFFLINE  

maegibbons

    Advanced Member

  • Members
  • 2889 posts
  • Local time: 07:29 PM
  • LocationLutterworth, England, UK

Posted 25 March 2020 - 07:19 PM

We've been over this a lot and you've been a part of those discussions. The benefit that would provide (extremely minimal) does not currently outweigh the support requirement it would create due to the complications in providing direct access to remote file systems in Android.

Ok Mr Touchy

File explorers seem to connect to my NAS from Android just fine.

Excluding features in emby clients just because they could cause some support work is not the right development philosophy.

Reminding you of features we would like is surely a good thing from your user base.

This probably has not come up for 12 months so I am just restating their is a case for it whether you like it or not.

And I did think that client app compatability was an emby goal these days.

Krs

Mark




Sent from my SM-N976B using Tapatalk

#23 pwhodges OFFLINE  

pwhodges

    Advanced Member

  • Members
  • 689 posts
  • Local time: 07:29 PM
  • LocationOxford, UK

Posted 25 March 2020 - 07:34 PM

Emby considers changing the Audio track as a Direct Stream.

 

Transcoding only appears if the Video track needs converting.

 

I am sad that there is no indication of audio transcoding.  Is there any reason not to specify which streams are being transcoded?  E.g., after the word Transcoding show (video, audio) or even just (V, A) in brackets as appropriate.  Not that i'd make a fuss about it, you understand, as I know audio is a much lesser deal than video in this regard...

 

Paul



#24 softworkz ONLINE  

softworkz

    Advanced Member

  • Developers
  • 2694 posts
  • Local time: 08:29 PM

Posted 25 March 2020 - 07:50 PM

I am sad that there is no indication of audio transcoding.  Is there any reason not to specify which streams are being transcoded?  E.g., after the word Transcoding show (video, audio) or even just (V, A) in brackets as appropriate.  Not that i'd make a fuss about it, you understand, as I know audio is a much lesser deal than video in this regard...

 

Paul

 

It's not that we wouldn't have that information in all detail:

 

5e7bed863d990_graph_example.jpg

 

 

The question is - what's reasonable to display within the available screen estate?

 

On the dashboard main page, there's not much space for the client cards and adding even more information would quickly make it appear overcrowded..


  • Happy2Play likes this

#25 Guest_asrequested_* OFFLINE  

Guest_asrequested_*
  • Guests

Posted 25 March 2020 - 09:30 PM

That is correct and the below is not:

 

 

 

The player doesn't need "direct access" to the media for it to be direct played (which means played with no modifications whatsoever).

 

Well yes indeed, I stand corrected. Without direct access, the server does stream the video, but is now reported as DirectPlay.

 

5e7c044c43f21_Quicktest.jpg



#26 cayars ONLINE  

cayars

    Advanced Member

  • Alpha Testers
  • 3348 posts
  • Local time: 02:29 PM

Posted 26 March 2020 - 10:42 AM

The question is - what's reasonable to display within the available screen estate?

 

On the dashboard main page, there's not much space for the client cards and adding even more information would quickly make it appear overcrowded..

 

Personally I'd like to only see "Direct Streaming" when the package is being changed.

"Transcoding" when EITHER video, audio or subtitles is in need of being converted.  This could be shown as

 

Transcoding V

Transcoding A

Transcoding S

Transcoding VA

Transcoding VS

Transcoding AS

Transcoding VAS

 

At most 4 letters are adding including the space.  This would quickly tell us if just the video is converted, just the audio is converted or both the video and audio is converted. Along with Subtitles thrown in as well.

V=Video

A=Audio

S=Subtitle

 

This to me would be useful in audio situations where for example the file has only an AC3 audio track but the device requires AAC.  Lots of other audio examples from dolby to dts, etc  Subtitles can also cause problems and being able to quickly see this would be useful as well as maybe just downloading a sub that is comparable fixes the problem and it would no longer require transcoding.

 

I don't think we could go wrong with something like this if you can find 4 additional characters on the screen. :)


Edited by cayars, 26 March 2020 - 10:43 AM.

  • Happy2Play, pĆ¼nktchen and rechigo like this

#27 Guest_asrequested_* OFFLINE  

Guest_asrequested_*
  • Guests

Posted 26 March 2020 - 10:54 AM

Stats for nerds should be better. With Theater/mpv we get a lot of information, but on other apps the information is next to useless. It's too generic.

Edited by Doofus, 26 March 2020 - 11:55 AM.

  • Stahlreck likes this

#28 ebr ONLINE  

ebr

    Chief Bottle Washer

  • Administrators
  • 51885 posts
  • Local time: 02:29 PM

Posted 26 March 2020 - 02:38 PM

Well yes indeed, I stand corrected. Without direct access, the server does stream the video, but is now reported as DirectPlay.

 

Notice the "static=true" there?  That is just delivering the file as-is over http instead of smb.



#29 Guest_asrequested_* OFFLINE  

Guest_asrequested_*
  • Guests

Posted 26 March 2020 - 02:54 PM

Notice the "static=true" there? That is just delivering the file as-is over http instead of smb.

Yup, I see :)

Information like this should to be in the stats for all apps. I think it'll go a long to way helping with misunderstanding/explaining what's happening.

Edited by Doofus, 26 March 2020 - 02:56 PM.

  • softworkz likes this

#30 softworkz ONLINE  

softworkz

    Advanced Member

  • Developers
  • 2694 posts
  • Local time: 08:29 PM

Posted 26 March 2020 - 04:36 PM

Yup, I see :)

Information like this should to be in the stats for all apps. I think it'll go a long to way helping with misunderstanding/explaining what's happening.

 

I agree that this would be a good idea.



#31 speechles ONLINE  

speechles

    Advanced Member

  • App Developer
  • 6071 posts
  • Local time: 11:29 AM

Posted 26 March 2020 - 05:10 PM

Yup, I see :)

Information like this should to be in the stats for all apps. I think it'll go a long to way helping with misunderstanding/explaining what's happening.

 

I know for a fact the Roku app "does" do this already.

 

DirectPlay = play over http. The original container, and all streams inside are kept original.

DirectStream = repackage into TS preserving all streams in original quality. A container swap.

Remux = repackage into TS preserving the video stream. The container and audio codec are swapped.

 

Transcode = what it always has meant. The video codec is swapped and usually the container with it.

 

The web app uses the exact same terminology.

 

image.png

 

On the above you can see the (Direct) on both Video and Audio codecs.

This is all the information you need really.. lol. :)


Edited by speechles, 26 March 2020 - 05:14 PM.


#32 speechles ONLINE  

speechles

    Advanced Member

  • App Developer
  • 6071 posts
  • Local time: 11:29 AM

Posted 26 March 2020 - 05:17 PM

Personally I'd like to only see "Direct Streaming" when the package is being changed.

"Transcoding" when EITHER video, audio or subtitles is in need of being converted.  This could be shown as

 

Transcoding V

Transcoding A

Transcoding S

Transcoding VA

Transcoding VS

Transcoding AS

Transcoding VAS

 

Would not you just enable stats for nerds if you needed all that information?



#33 Guest_asrequested_* OFFLINE  

Guest_asrequested_*
  • Guests

Posted 26 March 2020 - 05:55 PM

I know for a fact the Roku app "does" do this already.

DirectPlay = play over http. The original container, and all streams inside are kept original.
DirectStream = repackage into TS preserving all streams in original quality. A container swap.
Remux = repackage into TS preserving the video stream. The container and audio codec are swapped.

Transcode = what it always has meant. The video codec is swapped and usually the container with it.

The web app uses the exact same terminology.

image.png

On the above you can see the (Direct) on both Video and Audio codecs.
This is all the information you need really.. lol. :)


It's a decent start, but still missing a lot of information. It's not nerdy enough :)

#34 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 156694 posts
  • Local time: 02:29 PM

Posted 26 March 2020 - 09:56 PM

The Roku video player just doesn't give us the same kind of real-time information that mpv does.



#35 cayars ONLINE  

cayars

    Advanced Member

  • Alpha Testers
  • 3348 posts
  • Local time: 02:29 PM

Posted 27 March 2020 - 04:56 AM

Would not you just enable stats for nerds if you needed all that information?

Because I'd like to see this on the Server webadmin screen itself as well as on the client.  But I like this from a support standpoint because the one line says exactly what is being done.







Also tagged with one or more of these keywords: transcode, audio, aac, hevc

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users