Jump to content


Photo

Direct Play vs Direct Streaming vs Transcoding

Direct Play Direct Streaming Transcoding

  • Please log in to reply
57 replies to this topic

#21 CBers OFFLINE  

CBers

    Advanced Member

  • Moderators
  • 15005 posts
  • Local time: 09:11 PM
  • LocationKent, England.

Posted 04 July 2017 - 04:11 AM

Yes, Direct Play means playing the original file, which Kodi does, but for client apps that can't, the server creates a new stream from the source to the client.

What would you call the playback method used by Netflix?

#22 Doofus OFFLINE  

Doofus

    Advanced Member

  • Members
  • 12265 posts
  • Local time: 01:11 PM

Posted 04 July 2017 - 04:14 AM

Direct Play means playing the original file, yes? Transcoding means playing the file modified in some way. The transport method does not matter, so a different term would not be needed. You only need clarification for the transport method, but they are both direct play (original file is played without modification), even when the server provides the file, due to the client not being able to access the file.

 

I didn't think Direct referred necessarily to the client "Directly" playing the file... :)

 

What would you call it when the audio frequency is adjusted and is put back in the original codec? It isn't transcoded, as its the same format. And it isn't played directly, as it's being processed. A container swap would be a remux. Technically, any alteration made requires the file to be remuxed. Using remux would be redundant. I'm of the mind that having the player report what is specifically happening, is the way forward. 



#23 CBers OFFLINE  

CBers

    Advanced Member

  • Moderators
  • 15005 posts
  • Local time: 09:11 PM
  • LocationKent, England.

Posted 04 July 2017 - 04:26 AM

What would you call it when the audio frequency is adjusted and is put back in the original codec? It isn't transcoded, as its the same format. And it isn't played directly, as it's being processed. A container swap would be a remux. Technically, any alteration made requires the file to be remuxed. Using remux would be redundant. I'm of the mind that having the player report what is specifically happening, is the way forward.


What do you see in the ffmpeg logs for an audio frequency change?

If you look in the server logs, the stream is always an MKV stream and as the source is an MKV file, then there's no container swap.

#24 Waldonnis OFFLINE  

Waldonnis

    Advanced Member

  • Members
  • 652 posts
  • Local time: 04:11 PM

Posted 04 July 2017 - 04:54 AM

I've long hated Plex's labeling of playback/streaming methods, as they're overly simplistic, and can be deceptive in some cases.  A transcode is a transcode (changing codecs, altering bitrates/sample freqs, etc), whether it be audio, video, or both.  Likewise, a remux is a remux.  A transcode implies muxing since the new output would end up going through one of ffmpeg's muxers anyway.

 

Impact of a transcode on the system is important to reflect and, as ebr pointed out, video transcodes are "heavier" than audio...but it's still a transcode even if it's "just audio".  Pretending it's "direct" doesn't make it so and only leads to more confusion when people see a transcode progress bar when it's supposedly not transcoding according to the label.  Personally, I think user education and more detailed labeling would be the best way to go rather than trying to shoehorn these concepts into the rather kooky and vague Plex labeling scheme.  My preferences are as follows:

 
Direct (for playing directly from the source file as-is ONLY; nothing else is needed, really, since there aren't two labels with the word "direct" in this scheme, and really, you can even just say "Playing Source File" and it would be fine):

Direct

 
Remuxing (can include HLS container swaps to replace the "Direct streaming" with something more accurate/descriptive):

Remuxing (mkv -> m4v)
Remuxing (mkv -> hls)

 
 Audio-only or video-only transcode:

Transcoding: Audio (ac3 -> aac)
Transcoding: Video (hevc -> h264)

 
Audio and video transcode (can be broken into two lines if possible, but easy to combine by using "V/A" with the codec conversions delimited):

Transcoding: Video (hevc -> h264)
             Audio (ac3 -> aac)

Transcoding: V/A (hevc>h264, ac3>aac)

Of course, if the codecs in the parens are a bit more info than you think most users can digest or care about, then you can hide the display of those behind an advanced setting somewhere, while keeping the rest (even "Transcoding: Audio" would be more useful than "Transcoding")...or even keep the labels you have to woo Plex folks if you're attached to them and just give us an option to display more detailed info like the above if we prefer to see it.

 

I've never been a fan of app-specific terminology that seeks to replace common industry terms and, even though Plex is the industry leader in this space, I don't think following their lead on this is a good idea.


  • CBers, speechles, Spaceboy and 3 others like this

#25 Waldonnis OFFLINE  

Waldonnis

    Advanced Member

  • Members
  • 652 posts
  • Local time: 04:11 PM

Posted 04 July 2017 - 05:21 AM

What would you call it when the audio frequency is adjusted and is put back in the original codec? It isn't transcoded, as its the same format. And it isn't played directly, as it's being processed. A container swap would be a remux. Technically, any alteration made requires the file to be remuxed. Using remux would be redundant. I'm of the mind that having the player report what is specifically happening, is the way forward. 

 

 

What do you see in the ffmpeg logs for an audio frequency change?

If you look in the server logs, the stream is always an MKV stream and as the source is an MKV file, then there's no container swap.

 

Come on, folks, this is getting too pedantic...

 

Remuxing doesn't always mean you're swapping container types - it just means you're re-muxing the streams.  You can remux a file to the same container type as the source to alter the order of streams, add metadata, fix container timestamps, or any number of things...or you can just remux the file with no modifications to create a copy of it.  Sure, all pure container swaps are remuxes, but not all remuxes are container type changes - it's just the most frequent reason for remuxing.

 

As for whether "transcoding" includes re-encoding with the output being the same codec as the source, I think it's reasonable to call that a transcode (I just call it re-encoding, personally).  If you want to get technical about it, though, it's a "demuxing the source file, decoding the source stream, encoding the decoded source using the new parameters but the same codec, then muxing the output to the designated container type"...might not fit too well on the server status page  :lol:

 

Also, transcoding implies muxing in this context, as the new output is always going to end up going through a muxer.


  • CBers, speechles and Angelblue05 like this

#26 PenkethBoy ONLINE  

PenkethBoy

    Advanced Member

  • Members
  • 3387 posts
  • Local time: 09:11 PM
  • LocationWarrington,UK

Posted 04 July 2017 - 07:23 AM

Having read through this thread i now understand what "Direct" actually means - always wondered as it was not clear in what context it was being used.

 

Keeping in mind that the user who is going to go to the dashboard to check up on whats going on is going to be 99.9% of the time the administrator of the server then they need all the info on whats happening to a particular item being accessed.

 

Using some terminology from Plex which is "inaccurate" never made sense to me as discussed here "direct streaming" is not what i thought it was before reading this thread.

 

My suggestion is to modify the "cards" to show whats happening to indicate the true changes being applied - if you need more space to do that - loose the image as its serves little purpose other than eye candy.

 

As for the descriptions being discussed here why not simplify them down to

 

Playing or transcoding - no direct needed in my opinion 

 

If you must have the plex reference then indicate it as such in one corner of the card as say "(Plex- Direct Playing)" that way we get the info we need simply and if somebody was coming from Plex to Emby they would see a reference they would be familiar with - actually dont think this is a big issue as do not see many threads of people discussing it - other than this thread obviously - but we have already been converted to the Emby family :)


Edited by PenkethBoy, 04 July 2017 - 07:33 AM.

  • CBers likes this

#27 ebr OFFLINE  

ebr

    Chief Bottle Washer

  • Administrators
  • 46967 posts
  • Local time: 04:11 PM

Posted 04 July 2017 - 09:21 AM

We are working on ways to report all of this more clearly but the thing you guys have to realize is we aren't writing a text book here.  We are providing an app in a marketplace.

 

The end user's perception is all that matters.  If our main competitor is widely reporting a certain aspect a certain way then they are creating a perception that we have to be aware of - no matter how "incorrect" you may think it is.  Now, we don't wish to intentionally mislead anyone but we cannot use a term (transcoding) in a situation where our competitor doesn't because of the perception of that term in the marketplace.

 

So, that's why I like something like: Direct Video / Convert Audio.  The protocol by which those streams are delivered is really inconsequential IMO.


  • FrostByte likes this

#28 CBers OFFLINE  

CBers

    Advanced Member

  • Moderators
  • 15005 posts
  • Local time: 09:11 PM
  • LocationKent, England.

Posted 04 July 2017 - 09:56 AM

For reference, Plex definitions.

 

https://support.plex...icles/201566396



#29 PenkethBoy ONLINE  

PenkethBoy

    Advanced Member

  • Members
  • 3387 posts
  • Local time: 09:11 PM
  • LocationWarrington,UK

Posted 04 July 2017 - 10:15 AM

Funny i thought we were users  :blink:



#30 Jdiesel OFFLINE  

Jdiesel

    Advanced Member

  • Members
  • 2678 posts
  • Local time: 02:11 PM
  • LocationRegina, SK

Posted 04 July 2017 - 10:27 AM

I can see the value in simplifying settings and information for the end user and how it can lead to confusion but taking these tools away from the server administrator is not a good thing in my opinion. I frequently see comments about how adding valuable information will "confuse" the user but they truth is that if a person has setup an Emby server over something like VLC or a USB thumbdrive on their playback device they are more than capable of knowing what is actually going on with their media stream or at the very least be able to spend 5 minutes researching it. Your elderly mother watching media on her roku doesn't need to know this but the person running Emby on their hardware should.


  • blade005, cayars and maegibbons like this

#31 FrostByte OFFLINE  

FrostByte

    Advanced Member

  • ForumMod
  • 4281 posts
  • Local time: 04:11 PM
  • LocationThe UP

Posted 04 July 2017 - 11:04 AM

Funny i thought we were users  :blink:

 

Depends on your point of view.  At home I'm admin and I have my own users 

 

Until the wife gets home, then she's the boss :)


Edited by FrostByte, 04 July 2017 - 11:05 AM.

  • CBers, cayars, clarkss12 and 2 others like this

#32 Doofus OFFLINE  

Doofus

    Advanced Member

  • Members
  • 12265 posts
  • Local time: 01:11 PM

Posted 04 July 2017 - 02:31 PM

Come on, folks, this is getting too pedantic...

 

Remuxing doesn't always mean you're swapping container types - it just means you're re-muxing the streams.  You can remux a file to the same container type as the source to alter the order of streams, add metadata, fix container timestamps, or any number of things...or you can just remux the file with no modifications to create a copy of it.  Sure, all pure container swaps are remuxes, but not all remuxes are container type changes - it's just the most frequent reason for remuxing.

 

As for whether "transcoding" includes re-encoding with the output being the same codec as the source, I think it's reasonable to call that a transcode (I just call it re-encoding, personally).  If you want to get technical about it, though, it's a "demuxing the source file, decoding the source stream, encoding the decoded source using the new parameters but the same codec, then muxing the output to the designated container type"...might not fit too well on the server status page  :lol:

 

Also, transcoding implies muxing in this context, as the new output is always going to end up going through a muxer.

 

I agree. 

 

And I am indeed a pedant lol. I'm showing great restrain in not listing every variation of transcoding and direct streaming :D I made the OP as generic as I could :)



#33 CBers OFFLINE  

CBers

    Advanced Member

  • Moderators
  • 15005 posts
  • Local time: 09:11 PM
  • LocationKent, England.

Posted 04 July 2017 - 02:42 PM

Perhaps Emby could use the standard description by default, the same as Plex does, but also allow advances Emby users to flick a hidden switch that gives the correct description.

That way, we are happy and Plex users coming to Emby will be happy as well.
  • Waldonnis likes this

#34 Doofus OFFLINE  

Doofus

    Advanced Member

  • Members
  • 12265 posts
  • Local time: 01:11 PM

Posted 04 July 2017 - 02:52 PM

Perhaps Emby could use the standard description by default, the same as Plex does, but also allow advances Emby users to flick a hidden switch that gives the correct description.

That way, we are happy and Plex users coming to Emby will be happy as well.

 

I like that idea. The info button is a good start, maybe expand the details it reports, to provide all of what we are asking for?



#35 PenkethBoy ONLINE  

PenkethBoy

    Advanced Member

  • Members
  • 3387 posts
  • Local time: 09:11 PM
  • LocationWarrington,UK

Posted 04 July 2017 - 08:25 PM

We are backsliding to a complicated setup again - with hidden switches etc

 

Its the dashboard after all - publish the correct detailed info so nothing is hidden

 

and maybe leave off the "descriptions" as nobody can agree what to call what anyway.



#36 Hyanar OFFLINE  

Hyanar

    Member

  • Members
  • 16 posts
  • Local time: 09:11 PM

Posted 05 July 2017 - 10:38 AM

is there any reason as to why my files are getting a pure container swap from MP4/MKV to TS?

 

 

Attached Files



#37 ebr OFFLINE  

ebr

    Chief Bottle Washer

  • Administrators
  • 46967 posts
  • Local time: 04:11 PM

Posted 05 July 2017 - 11:19 AM

is there any reason as to why my files are getting a pure container swap from MP4/MKV to TS?

 

So they can be delivered via Http Live Streaming protocol.



#38 CBers OFFLINE  

CBers

    Advanced Member

  • Moderators
  • 15005 posts
  • Local time: 09:11 PM
  • LocationKent, England.

Posted 05 July 2017 - 11:27 AM

So they can be delivered via Http Live Streaming protocol.


Not a helpful description for the layman :)

#39 Happy2Play OFFLINE  

Happy2Play

    Trial and Error

  • Moderators
  • 15703 posts
  • Local time: 01:11 PM
  • LocationWashington State

Posted 05 July 2017 - 11:33 AM

I was trying to figure out why that log shows "TranscodeReasons=ContainerBitrateExceedsLimit".



#40 Hyanar OFFLINE  

Hyanar

    Member

  • Members
  • 16 posts
  • Local time: 09:11 PM

Posted 05 July 2017 - 11:49 AM

So they can be delivered via Http Live Streaming protocol.

but they were direct playing before, now they are direct streaming.

 

when i use the emby app for xbox one, they stream. when i use media player on xbox one, they direct play.







Also tagged with one or more of these keywords: Direct Play, Direct Streaming, Transcoding

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users