mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-04 18:09:12 +03:00
[Issue]: Transcoding is forced on video files with no default audio stream set. Reason - SecondaryAudioNotSupported #4057
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 @gaudat on GitHub (Jul 23, 2022).
Please describe your bug
Steps to reproduce:
Expected behavior:
File is played directly with no transcoding as H264 and MP3 are supported by the browser.
Root cause:
JSON output of ffprobe has
streams[*].disposition.default== 0 for all streams.Proposed solution:
Add check and modification of parse result in
ProbeResultNormalizer.Jellyfin Version
Other
if other:
10.8.1
Environment
Jellyfin logs
On playback:
FFmpeg logs
No response
Please attach any browser or client logs here
No response
Please attach any screenshots here
No response
Code of Conduct
@gaudat commented on GitHub (Jul 23, 2022):
ffprobe output for reference.
@gaudat commented on GitHub (Jul 24, 2022):
Looks like this happens whenever there is no audio stream marked as default in the video file. This hits the
IsSecondaryAudiocase inGetTranscodeReasonForFailedConditioneven though this has nothing to do with video streams.@gaudat commented on GitHub (Jul 28, 2022):
I tested more video formats today on 10.9.0 with my ffprobe hack.
H264 AAC MP4 container = Direct play
H264 AAC MKV container = Remux, reason ContainerNotSupported
H264 AAC AVI container = h264 transcode to h264, AAC direct, reason ContainerNotSupported
H264 MP3 MP4 container = Direct play
H264 MP3 AVI container = h264 transcode to h264, MP3 direct, reason ContainerNotSupported
I expect the AVI files to remux instead of doing a full transcode. Not sure if there is something special with AVI container that prevents it from doing so.
@gaudat commented on GitHub (Jul 28, 2022):
Leaving notes here. Maybe it is bad sorting of transcoding profiles in "GetVideoTranscodeProfile".
@cvium commented on GitHub (Jul 28, 2022):
AVI is not a suitable container for H264. Its main codec is Xvid. I'm not even sure if ffmpeg can do a stream copy to mkv/mp4.
@gaudat commented on GitHub (Aug 6, 2022):
Okay. These files are like about 0.5% of my library only. Worst case I could just repack them to MP4.
Stream copy of the H264 stream from AVI to MP4 works fine with the ffmpeg program bundled with Jellyfin. Not sure there are any complications when transcoding to a live streaming format.
I think it's better to open a new issue for this.