Jump to content

VideoService API doesn't work as expected


pünktchen

Recommended Posts

pünktchen

... when using transcoding parameters.

  • AudioBitRate is completely ignored, Emby always uses 192K with aac.
  • Fixed Parameters like AudioChannels, Width and Height are only taken into account if the input is greater than the parameters! I'm expecting it to always use the parameters even if it means to upscale the audio channels or the video and then put padding to the horizontal or vertical side. If i wanted to make it conditional, i would use MaxAudioChannels, MaxWidth and MaxHeight instead.
  • Why is there no "EnableAutoStreamCopy" (Whether or not to allow automatic stream copy if requested values match the original source) for the video side of things? Something simple like this:
bool videotranscoding = false;

if (VideoCodec != null && VideoCodec != Input.Codec)
    videotranscoding = true;

if (VideoBitRate != null && VideoBitRate < Input.VideoBitrate)
    videotranscoding = true;

if (Profile != null && Profile < Input.Profile)
    videotranscoding = true;

if (Level != null && Level < Input.Level)
    videotranscoding = true;

if (MaxRefFrames != null && MaxRefFrames < Input.RefFrames)
    videotranscoding = true;

if (MaxVideoBitDepth != null && MaxVideoBitDepth < Input.BitDepth)
    videotranscoding = true;

if ((Width != null && Width != Input.Width) || (Height != null && Height != Input.Height) || (MaxWidth != null && MaxWidth < Input.Width) || (MaxHeight != null && MaxHeight < Input.Height))
    videotranscoding = true;

if ((Framerate != null && Framerate != Input.Framerate) || (MaxFramerate != null && MaxFramerate < Input.Framerate))
    videotranscoding = true;

ffmpeg-transcode-eac56716-eafc-408e-bcdc-b1d7f7d7b487_1.txt

Link to comment
Share on other sites

 

 

Fixed Parameters like AudioChannels, Width and Height are only taken into account if the input is greater than the parameters! I'm expecting it to always use the parameters even if it means to upscale the audio channels or the video and then put padding to the horizontal or vertical side. If i wanted to make it conditional, i would use MaxAudioChannels, MaxWidth and MaxHeight instead.

 

They are used as max values. That's what our apps need.

Link to comment
Share on other sites

pünktchen

They are used as max values. That's what our apps need.

But then the apps should use the Max parameters of the api not the Fixed parameters.
Link to comment
Share on other sites

At this point it is what it is. I made changes based on what was best for us at the time. But I can commit to helping you achieve what you want if i know what this is for and what kind of audience we can expect.

Link to comment
Share on other sites

pünktchen

The audiance is everyone who utilizes the api. They want that the api reacts the same way that is written down in the description, the way that people are expecting it.

 

I do not see the problem in changing this. Just make the next app versions dependent on the next server release.

Link to comment
Share on other sites

roblav96

The audiance is everyone who utilizes the api. They want that the api reacts the same way that is written down in the description, the way that people are expecting it.

 

I do not see the problem in changing this. Just make the next app versions dependent on the next server release.

Can you provide a link to the description you are referring to? I agree that documentation for an API should be accurate, if it's on the GitHub wiki I'll make the changes and submit a PR so the next developer will be aware of this.

Link to comment
Share on other sites

pünktchen

Please don't do this. Don't support Luke in going the super easy way. They've created the api with one thing in their mind but are misusing it now in an other way. It only takes less than one hour of coding time to correct the inner working in Emby server and the apps.

Link to comment
Share on other sites

Please don't do this. Don't support Luke in going the super easy way. They've created the api with one thing in their mind but are misusing it now in an other way. It only takes less than one hour of coding time to correct the inner working in Emby server and the apps.

 

It's not that simple I'm afraid because there are apps that take a long time to push through the store, and there are also older apps that are also older apps that we can't even push updates for. So i would have to give you what you need with new development.

Link to comment
Share on other sites

pünktchen

Then do it the other way: rename the "Max..." parameters to something like "Forced..." and then treat them that way.

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...