Incompatibility with ffmpeg 7.1
Hello,
After updating from Debian Linux 12 Bookworm to Debian 13 Trixie I've noticed that transcoding with scrubbing by DLNA clients does not work correctly. The client receives nonsensical time data on scrubbing (playback at x2,x4,x8,x16 speed with preview), for example a video file 59 minutes in length suddenly jumps to current position of 14 hours which the client can't handle and stops playback altogether. The issue only occurs while transcoding, playback of naively supported formats works correctly.
Debug log entries relevant to this issue:
I've narrowed the issue down to ffmpeg shipped with Debian 13's repository version 7.1.3-0+deb13u1 which updated from 5.x present in Debian 12. I suspect something changed with ffmpeg's output or parsing that makes 7.x incompatible with Serviio 2.4.
My solution is to download an official (linked from project's site) static build of ffmpeg 6.1.3 GPL from Github, unpack and pass it as a parameter in serviio.sh:
This version works correctly with all my use cases, but might require more testing for other people.
It might be a good idea to mirror this version of ffmpeg, or other compatible version for other users since autobuilds on Github get removed after a given time, and newer releases do not include 6.x.
After updating from Debian Linux 12 Bookworm to Debian 13 Trixie I've noticed that transcoding with scrubbing by DLNA clients does not work correctly. The client receives nonsensical time data on scrubbing (playback at x2,x4,x8,x16 speed with preview), for example a video file 59 minutes in length suddenly jumps to current position of 14 hours which the client can't handle and stops playback altogether. The issue only occurs while transcoding, playback of naively supported formats works correctly.
Debug log entries relevant to this issue:
- Code:
2025-12-25T08:41:02,113 DEBUG [TranscodingJobListener] Error updating FFmpeg output for line 'frame=12019 fps=616 q=30.0 size= 100096KiB time=00:08:21.29 bitrate=1635.7kbits/s speed=25.7x ': For input string: "100096K"
2025-12-25T08:41:02,613 DEBUG [TranscodingJobListener] Error updating FFmpeg output for line 'frame=12331 fps=616 q=30.0 size= 102912KiB time=00:08:34.30 bitrate=1639.2kbits/s speed=25.7x ': For input string: "102912K"
2025-12-25T08:41:03,113 DEBUG [TranscodingJobListener] Error updating FFmpeg output for line 'frame=12616 fps=615 q=30.0 size= 106240KiB time=00:08:46.19 bitrate=1654.0kbits/s speed=25.7x ': For input string: "106240K"
2025-12-25T08:41:03,614 DEBUG [TranscodingJobListener] Error updating FFmpeg output for line 'frame=12961 fps=617 q=30.0 size= 109312KiB time=00:09:00.62 bitrate=1656.4kbits/s speed=25.7x ': For input string: "109312K"
I've narrowed the issue down to ffmpeg shipped with Debian 13's repository version 7.1.3-0+deb13u1 which updated from 5.x present in Debian 12. I suspect something changed with ffmpeg's output or parsing that makes 7.x incompatible with Serviio 2.4.
My solution is to download an official (linked from project's site) static build of ffmpeg 6.1.3 GPL from Github, unpack and pass it as a parameter in serviio.sh:
This version works correctly with all my use cases, but might require more testing for other people.
It might be a good idea to mirror this version of ffmpeg, or other compatible version for other users since autobuilds on Github get removed after a given time, and newer releases do not include 6.x.
