mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 05:43:54 +03:00
Playback failure when transcoding to VP9 #6141
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @raku-cat on GitHub (Jul 22, 2024).
This issue respects the following points:
Description of the bug
When attempting to play a video on a client which requires/requests VP9 video, and the video requires transcoding (I.e. the video is not already encoded in VP9), Jellyfin uses incorrect ffmpeg parameters, fails to transcode the video and the video fails to play in the client.
Reproduction steps
What is the current bug behavior?
The video fails to begin playing and ffmpeg errors are shown in the jellyfin server logs.
What is the expected correct behavior?
The video begins playback in the requested format.
Jellyfin Server version
10.9.7
Specify commit id
No response
Specify unstable release number
No response
Specify version number
No response
Specify the build version
Release
Environment
Jellyfin logs
FFmpeg logs
Client / Browser logs
No response
Relevant screenshots or videos
No response
Additional information
Would just like to make an upfront note this is indeed a duplicate of https://github.com/jellyfin/jellyfin/issues/9318 but that issue was closed as stale, however, the bug is still present.
@felix920506 commented on GitHub (Jul 22, 2024):
VP9 is not a supported transcode target codec. Please report your issue to the client developer.
@raku-cat commented on GitHub (Jul 22, 2024):
Ah okay, unfortunately the client itself does not support anything but vp9 and I had up to now been encoding to vp9 by hand.
Is there a reason/documentation for this being unsupported? I note the transcode works and produces a streamable file if
-profile 1in the attempted command is changed to-profile 0as recommended by the ffmpeg error. Attempted to use a shim script to test this with jellyfin rather than directly running the ffmpeg command but jellyfin didn't seem to like this ;pEdit: Scratch the last line, I had a typo in the script, was able to get this working directly with jellyfin as well.
Using the following crude script to blind replace any
-profile 1with-profile 0:And then attempting playback on my server with the following url
https://my.jellyfin.server/Videos/<redacted>/stream?api_key=<redacted>&container=webm&audioCodec=opus&videoCodec=vp9&audioBitrate=128000&videoBitrate=10000000&maxAudioChannels=2&maxHeight=720&maxWidth=1280Results in playback where it used to return an error.
@gnattu commented on GitHub (Jul 22, 2024):
The client you are pointing to configured to use h264. The "does not support anything but vp9" seems to be created by yourself.
Is there a reason for you to want this never get widely supported codec to be supported this hard? Nobody but google cares about this codec and it never received wide adoption, the hardware support status of it is also terrible, and its use case is covered by both HEVC(when licensed) and AV1(when license is a concern) now.
@raku-cat commented on GitHub (Jul 22, 2024):
The "client" in question is a different game which itself only supports video playback of vp9 encoded webm files, if I could change that I would. As I said up to now I'd just been manually encoding files I wanted to play but since jellyfin supports live transcoding I figured I'd try.
I'm not really here to start an argument about this, I'm aware I have an edge case, I was just curious if there was a reason, sorry for any miscommunication.
@felix920506 commented on GitHub (Jul 22, 2024):
If you want to fix it then you are welcome to submit a PR but idk if it will get accepted.
@orcachillin commented on GitHub (Aug 29, 2024):
Hey, sorry to bump, but vp9 is marked as supported here. If this is intended I'm happy to make a PR but if it's not, there's no real reason to, I'll just use @raku-cat 's shim.
@Bond-009 commented on GitHub (Aug 29, 2024):
@gurrrrrrett3 VP9 already got removed from the API docs in this PR: https://github.com/jellyfin/jellyfin/pull/12428