Page 1 of 1

Serviio 2.5: Missing DLNA resource for AV1/MP4

PostPosted: Fri Oct 23, 2026 10:08 am
by tkosars
Serviio 2.5 – AV1/MP4 files indexed but missing <res> element in DLNA Browse response

Hi,

I've encountered what appears to be an issue with native AV1/MP4 streaming over DLNA in Serviio 2.5.

The file is successfully indexed and can be played through Serviio MediaBrowser, but it doesn't appear in the native media player of my LG OLED C1 TV.

I've reproduced the issue using a publicly available sample file, so no special encoding, remuxing or YouTube downloading is required.

Test file:

Big Buck Bunny – AV1/MP4 – 1080p – 10 seconds

Environment:
  • Serviio 2.5 on Windows
  • LG OLED48C1 (webOS)
  • LG TV / player profile
  • UPnP Developer Tools – Device Spy

Steps to reproduce:
  1. Download the sample MP4 file.
  2. Add it to the Serviio media library.
  3. Verify that it appears and plays in Serviio MediaBrowser.
  4. Browse the corresponding folder through UPnP Device Spy using ContentDirectory → Browse, with BrowseDirectChildren and Filter=*.
  5. Inspect the returned DIDL-Lite XML.

Actual result:

Serviio returns the video item with its title, metadata and artwork, but without any <res> element containing the video resource URL and protocolInfo.

Relevant extract from the actual Device Spy response:

  Code:
<item id="V_F^FOL*R1$F7$MI174"
      parentID="V_F^FOL*R1$F7"
      restricted="1">
  <dc:title>Big_Buck_Bunny_1080_10s_5MB.mp4</dc:title>
  <upnp:class>object.item.videoItem</upnp:class>
  ...
  <!-- No <res> element -->
</item>


Consequently, the file is not displayed in the LG TV's native media player.

Other video files, such as H.264/MKV, correctly include a video <res> element in the same DLNA Browse response.

Comparison with LG SmartShare:

The exact same AV1/MP4 sample is exposed by LG SmartShare and its video plays on the LG C1. Audio playback of this particular sample is a separate issue and not relevant to the missing video resource.

For another independently sourced 4K AV1/MP4 file, SmartShare advertises the playable video resource with:

  Code:
http-get:*:video/mp4:DLNA.ORG_PN=-;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000


Serviio returns the same 4K file without any <res> element.

I've confirmed the missing resource behavior with two independent AV1/MP4 files (1080p and 4K). Both are indexed correctly and play in MediaBrowser.

The Generic DLNA profile and the LG TV / player profile have also been investigated. No active LG-specific AV1 transcoding rule was found in the supplied profiles.xml.

Expected behavior:

Serviio should expose the original AV1/MP4 file as a playable DLNA resource for compatible clients, without requiring video transcoding.

Question:

Is this a known limitation of Serviio's AV1 media format mapping, or is it a bug that could be fixed in a future version?

Could it alternatively be resolved through a custom device profile?

I'm happy to provide the full Device Spy XML responses, MediaInfo output and debug logs if needed.

I also tried accessing the official Jira bug tracker, but my Atlassian account does not have permission to access the project.

Thanks!

Re: Serviio 2.5: Missing DLNA resource for AV1/MP4

PostPosted: Fri Oct 23, 2026 10:55 am
by tkosars
Additional findings: AV1/MP4 vs. AV1/MKV – lossless remux fixes native playback

Hi again,

I've made an interesting discovery that significantly narrows down the issue.

Good news: the same AV1 video plays successfully on the LG C1 through Serviio when remuxed from MP4 into MKV, without any transcoding!

I reproduced this using the publicly available Big Buck Bunny sample from my original post.

1. Test file

Big Buck Bunny – AV1/MP4 – 1080p – 10 seconds

I placed the downloaded file in a Serviio shared folder:

  Code:
D:\Movies\V
    Big_Buck_Bunny_1080_10s_5MB.mp4


2. Lossless MP4 to MKV remux

Using the FFmpeg executable bundled with Serviio 2.5.

Windows Command Prompt (cmd.exe):

  Code:
"C:\Program Files\Serviio\lib\ffmpeg.exe" -hide_banner -nostdin -n -i "D:\Movies\V\Big_Buck_Bunny_1080_10s_5MB.mp4" -map 0:v:0 -map 0:a? -c copy -sn -dn "D:\Movies\V\Big_Buck_Bunny_1080_10s_5MB.mkv" > "C:\Temp\serviio-bunny-remux.txt" 2>&1


The C:\Temp directory must exist for log redirection.

The -c copy option ensures that the original video and audio streams are preserved without re-encoding.

Both files are now in the same shared folder:

  Code:
D:\Movies\V
    Big_Buck_Bunny_1080_10s_5MB.mp4
    Big_Buck_Bunny_1080_10s_5MB.mkv


3. Results on LG OLED C1

Original AV1/MP4:
  • Indexed successfully by Serviio.
  • Playable through Serviio MediaBrowser.
  • DLNA Browse returns the item without a <res> element.
  • Not visible in the LG C1 native media player.

Remuxed AV1/MKV:
  • Indexed successfully by Serviio.
  • Visible in the LG C1 native media player.
  • Plays successfully through Serviio over DLNA.
  • No video transcoding was required.

4. Additional confirmation with a 4K AV1 file

I also performed the same MP4 to MKV remux using a separate 3840x2160 AV1 Main@L5.0 video with AAC LC audio.

The results were consistent at the DLNA resource level.

Original MP4: the ContentDirectory Browse response contains no video <res> element.

Remuxed MKV: Serviio generates a native video resource with the following protocolInfo:

  Code:
http-get:*:video/x-matroska:DLNA.ORG_PN=MATROSKA;DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000


The resource URL ends with:

  Code:
/MEDIA_ITEM/MATROSKA-0/ORIGINAL


The MKV version is also visible on the LG C1.

5. Conclusion

This strongly suggests that the problem is specific to Serviio's native AV1/MP4 DLNA resource mapping, rather than a general AV1 decoding or playback limitation.

Changing only the container from MP4 to MKV allows the same AV1 video bitstream to be served and played natively.

The Big Buck Bunny test provides a simple, publicly reproducible example requiring no custom encoding.

Is there a way to fix the AV1/MP4 resource mapping through a custom Serviio profile, or does this require a change in Serviio's internal format handling?

Thanks!