[Issue]: ffprobe errors & "Unknown codec" on new files #3854

Closed
opened 2026-02-06 23:59:21 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @flashkiller999 on GitHub (May 26, 2022).

Please describe your bug

After the last update it seems that ffprobe is broken and causes files to not be able to be played using DirectPlay, also it is not possible to view Media Info in the webinterface of the problemati file, it will only show the path of the file, but no media infos like video and or audio codec.

As seen in the log below the file will be shown as "Unknown codec" with ffprobe 5.0.1.

This is probably causes by the accidental release of this version as stated in this issue:
https://github.com/jellyfin/jellyfin/issues/7681

I was able to solve the issue by downgrading jellyfin-ffmpeg to version "4.4.1-4-focal".
After that Jellyfin could DirectPlay again and also correctly identified the file as "hevc".

The commands used to downgrade the version and keep the installed version:
sudo apt install jellyfin-ffmpeg=4.4.1-4-focal sudo apt-mark hold jellyfin-ffmpeg

Jellyfin Version

10.7.7

if other:

No response

Environment

- OS: Ubuntu Server 20.04.4 LTS
- Virtualization: Hyper-V
- Clients: Kodi, Android
- Browser: Firefox
- FFmpeg Version: 5.0.1
- Playback Method: DirectyPlay
- Hardware Acceleration: None
- Plugins: -
- Reverse Proxy: HAProxy
- Base URL:
- Networking:
- Storage:

Jellyfin logs

[2022-05-26 11:25:18.444 +00:00] [ERR] [48] MediaBrowser.Providers.TV.EpisodeMetadataService: Error in "ffprobe"
System.Text.Json.JsonException: The JSON value could not be converted to System.Int32. Path: $.chapters[0].id | LineNumber: 254 | BytePositionInLine: 38.
 ---> System.FormatException: Either the JSON value is not in a supported format, or is out of bounds for an Int32.
   at System.Text.Json.Utf8JsonReader.GetInt32()
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.Converters.IEnumerableDefaultConverter`2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader)
   at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   --- End of inner exception stack trace ---
   at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex)
   at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)
   at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonReaderState& readerState, Boolean isFinalBlock, ReadOnlySpan`1 buffer, JsonSerializerOptions options, ReadStack& state, JsonConverter converterBase)
   at System.Text.Json.JsonSerializer.ReadAsync[TValue](Stream utf8Json, Type returnType, JsonSerializerOptions options, CancellationToken cancellationToken)
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken)
   at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)
[2022-05-26 11:25:18.525 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Paul". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2022-05-26 11:25:18.525 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", Path: "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2022-05-26 11:25:18.525 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", No video direct play profiles found for "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv" with codec "Unknown codec"
[2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 7000000, RemoteIp: "192.168.10.11", IsInLocalNetwork: True
[2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", Path: "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", No video direct play profiles found for "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv" with codec "Unknown codec"
[2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 7000000, RemoteIp: "192.168.10.11", IsInLocalNetwork: True
[2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", Path: "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", No video direct play profiles found for "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv" with codec "Unknown codec"

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
Originally created by @flashkiller999 on GitHub (May 26, 2022). ### Please describe your bug After the last update it seems that ffprobe is broken and causes files to not be able to be played using DirectPlay, also it is not possible to view Media Info in the webinterface of the problemati file, it will only show the path of the file, but no media infos like video and or audio codec. As seen in the log below the file will be shown as "Unknown codec" with ffprobe 5.0.1. This is probably causes by the accidental release of this version as stated in this issue: https://github.com/jellyfin/jellyfin/issues/7681 I was able to solve the issue by downgrading jellyfin-ffmpeg to version "4.4.1-4-focal". After that Jellyfin could DirectPlay again and also correctly identified the file as "hevc". The commands used to downgrade the version and keep the installed version: `sudo apt install jellyfin-ffmpeg=4.4.1-4-focal sudo apt-mark hold jellyfin-ffmpeg` ### Jellyfin Version 10.7.7 ### if other: _No response_ ### Environment ```markdown - OS: Ubuntu Server 20.04.4 LTS - Virtualization: Hyper-V - Clients: Kodi, Android - Browser: Firefox - FFmpeg Version: 5.0.1 - Playback Method: DirectyPlay - Hardware Acceleration: None - Plugins: - - Reverse Proxy: HAProxy - Base URL: - Networking: - Storage: ``` ### Jellyfin logs ```shell [2022-05-26 11:25:18.444 +00:00] [ERR] [48] MediaBrowser.Providers.TV.EpisodeMetadataService: Error in "ffprobe" System.Text.Json.JsonException: The JSON value could not be converted to System.Int32. Path: $.chapters[0].id | LineNumber: 254 | BytePositionInLine: 38. ---> System.FormatException: Either the JSON value is not in a supported format, or is out of bounds for an Int32. at System.Text.Json.Utf8JsonReader.GetInt32() at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.Converters.IEnumerableDefaultConverter`2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value) at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.JsonPropertyInfo`1.ReadJsonAndSetMember(Object obj, ReadStack& state, Utf8JsonReader& reader) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter`1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter`1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) --- End of inner exception stack trace --- at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, Utf8JsonReader& reader, Exception ex) at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonReaderState& readerState, Boolean isFinalBlock, ReadOnlySpan`1 buffer, JsonSerializerOptions options, ReadStack& state, JsonConverter converterBase) at System.Text.Json.JsonSerializer.ReadAsync[TValue](Stream utf8Json, Type returnType, JsonSerializerOptions options, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.FFProbeVideoInfo.ProbeVideo[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken) [2022-05-26 11:25:18.525 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Paul". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2022-05-26 11:25:18.525 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", Path: "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True [2022-05-26 11:25:18.525 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", No video direct play profiles found for "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv" with codec "Unknown codec" [2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 7000000, RemoteIp: "192.168.10.11", IsInLocalNetwork: True [2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", Path: "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True [2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", No video direct play profiles found for "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv" with codec "Unknown codec" [2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 7000000, RemoteIp: "192.168.10.11", IsInLocalNetwork: True [2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", Path: "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: True [2022-05-26 11:25:18.526 +00:00] [INF] [48] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Kodi", No video direct play profiles found for "/mnt/media/Anime/Series/Overlord/Season 1/Overlord - S01E01.mkv" with codec "Unknown codec" ``` ### FFmpeg logs _No response_ ### Please attach any browser or client logs here _No response_ ### Please attach any screenshots here _No response_ ### Code of Conduct - [X] I agree to follow this project's Code of Conduct
OVERLORD added the bug label 2026-02-06 23:59:21 +03:00
Author
Owner

@crobibero commented on GitHub (May 26, 2022):

Duplicate of https://github.com/jellyfin/jellyfin/issues/7355

@crobibero commented on GitHub (May 26, 2022): Duplicate of https://github.com/jellyfin/jellyfin/issues/7355
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#3854