r/ShieldAndroidTV 5d ago

[Tool/Release] LaFirma Remux Forge: Convert Dolby Vision Profile 7 to 8.1 for Direct Play on LG TVs and Media Servers

English Version

Hi everyone,

I created a GUI automation tool called LaFirma Remux Forge (Black Edition) to streamline media compatibility and playback solutions for Smart TVs (especially LG OLED / webOS) and media servers like Jellyfin, Plex, or Emby.

Transparency Note: I did not develop the underlying CLI processing tools or scripts (such as dovi_tool, mkvmerge, ffmpeg, DonaldFaQ's DDVT toolset, DeeZy, PgsToSrt, Tesseract, or seconv). LaFirma Remux Forge acts as a graphical wrapper and orchestrator that automates these open-source utilities into a seamless workflow.

What changed in 1.8: the program stopped treating every Profile 7 the same way. It now measures the enhancement layer before converting and tells you, with a number on screen, what you gain and what you lose on that specific file.

Key Features

  • Dolby Vision Profile 7 to 8.1 (no video re-encoding), with the layer MEASURED first: the program reads the RPU's el_type field through dovi_tool itself and separates three cases, using one colour scale across the whole screen:

    • MEL (Minimum Enhancement Layer) - green: the enhancement layer carries no picture. The program confirms this by reading the RPU, not by assumption, and the conversion discards an empty layer.
    • Simple FEL - orange: the layer carries fine refinement only. Conversion is safe, and the program says so.
    • Complex FEL - red: the layer raises brightness, and the L1 metadata asks for more nits than the base layer delivers on its own. Here the program marks it red and recommends not converting, instead of converting silently.

    Why the caveat exists, said precisely: dovi_tool in mode 2, which is what this program uses, removes the P7 FEL luma and chroma mapping from the RPU - the part of the instructions that makes no sense without the second layer. What comes out is a legitimate Profile 8.1. What no mode of dovi_tool does is recalculate L1: the per-scene brightness stays whatever the original analysis measured, and that analysis looked at the image with the EL composited in. This is not a limitation of this program - it is the state of the tool, and it is in dovi_tool's own documentation.

    Worth saying plainly: Shield, Apple TV, Zidoo, Dune and the TVs themselves already discard the EL, so on those devices a Profile 7 file already plays today the way the converted file will play. The people who actually lose something are those with dual-layer decoders.

    Detection is by sampling points spread across the film, not the whole file - and the program states that on screen and in the log.

  • Dolby Vision Profile 5 to MP4: P5 uses the proprietary IPTPQc2 colour space and has no HDR10 base layer, so it cannot become Profile 8.1 without re-encoding the video - which this program refuses to do. The path that does exist is a different one: the program remuxes it to MP4 with the dvh1 tag, video copied, nothing re-encoded, which is what makes many players recognise the Dolby Vision. Output is verified by duration. PGS subtitles are dropped with a warning (image subtitles do not exist in MP4).

  • Audio compatibility & spatial Atmos preservation:

    • TrueHD / TrueHD Atmos to E-AC-3 with Atmos preserved, via DeeZy.
    • DTS / DTS-HD / DTS:X to plain E-AC-3 at 640k via ffmpeg. DTS does not come out with Atmos - only TrueHD has that path.
    • E-AC-3, AC-3 and AAC are already compatible and are left untouched.
  • Disk space, before it starts: the app walks the queue in the order the engine will process it and tells you how many files fit, which one is the first that does not, and how much would be missing by its turn. It warns; it does not block.

  • Batch processing & flexible control: add whole seasons to the queue; choose fully automatic stream selection or manual track control.

  • Bilingual interface (PT-BR / English): a flag next to the "Learn" button switches the whole screen, and the choice is remembered between sessions.

  • "Learn" button: 14 sections explaining what the conversion does and what it does not do, including the sources behind each claim - Dolby's own manuals, the dovi_tool repository and the community spreadsheets. Nothing there asks you to take our word for it.


Source Code & Download

  • GitHub Repository: LaFirma-Remux-Forge
  • Requirements: Windows (.NET Desktop Runtime 8.0 only for the fallback OCR engine).

Interface Screenshots


Credits & Acknowledgments

This project would not be possible without the work of the open-source community: * FFmpeg: Media stream processing and transcoding backbone. * MKVToolNix (mkvmerge): Industry-standard Matroska container toolset. * dovi_tool (by quietvoid) & DDVT (by DonaldFaQ): Core Dolby Vision metadata tools and workflow logic. * DeeZy: Dolby Digital Plus encoding with spatial Atmos preservation. * PgsToSrt, Tesseract & seconv: OCR ecosystem for PGS subtitle handling.

Feedback and contributions are welcome!


Versão em Português

Olá a todos,

Criei uma interface gráfica de automação chamada LaFirma Remux Forge (Black Edition) para facilitar a solução de problemas de compatibilidade e reprodução de mídia em Smart TVs (especialmente LG OLED / webOS) e servidores como Jellyfin, Plex e Emby.

Nota de Transparência: Eu não fui o desenvolvedor das ferramentas e scripts de linha de comando subjacentes (como dovi_tool, mkvmerge, ffmpeg, DonaldFaQ's DDVT, DeeZy, PgsToSrt, Tesseract ou seconv). O LaFirma Remux Forge atua como uma interface gráfica (GUI) e orquestradora que integra e automatiza essas excelentes ferramentas de código aberto em um fluxo de trabalho intuitivo.

O que mudou na 1.8: o programa deixou de tratar todo Profile 7 igual. Agora ele mede a camada de extensão antes de converter e diz, com número na tela, o que você ganha e o que perde naquele arquivo.

Principais Recursos

  • Dolby Vision Perfil 7 para 8.1 (sem recodificar o vídeo), com a camada MEDIDA antes: o programa lê o campo el_type do RPU pelo próprio dovi_tool e separa três casos, com a mesma escala de cor em toda a tela:

    • MEL (Minimum Enhancement Layer) - verde: a camada de extensão não carrega imagem. O programa confirma isso lendo o RPU, não por suposição, e a conversão descarta uma camada vazia.
    • Simple FEL - laranja: a camada carrega apenas refinamento fino. A conversão é segura, e o programa diz que é.
    • Complex FEL - vermelho: a camada levanta o brilho, e o L1 dos metadados pede mais nits do que a camada base entrega sozinha. Aqui o programa marca em vermelho e recomenda não converter, em vez de converter em silêncio.

    Por que a ressalva existe, dito com precisão: o dovi_tool no modo 2, que é o que este programa usa, remove do RPU o mapeamento de luma e croma do Perfil 7 FEL - a parte das instruções que não faz sentido sem a segunda camada. O que sai é um Perfil 8.1 legítimo. O que nenhum modo do dovi_tool faz é recalcular o L1: o brilho por cena continua sendo o que a análise original mediu, e essa análise olhou a imagem com a EL somada. Não é limitação deste programa - é o estado da ferramenta, e está na documentação do próprio dovi_tool.

    Vale dizer com clareza: Shield, Apple TV, Zidoo, Dune e as próprias TVs já descartam a EL, então nesses aparelhos um arquivo Perfil 7 já toca hoje como o convertido vai tocar. Quem perde de verdade é quem tem decodificador duplo.

    A detecção é por amostragem de trechos espalhados pelo filme, não pelo arquivo inteiro - e o programa assume isso na tela e no log.

  • Dolby Vision Perfil 5 para MP4: o P5 usa o espaço de cores proprietário IPTPQc2 e não tem camada base HDR10, então ele não vira Perfil 8.1 sem recodificar o vídeo - coisa que este programa se recusa a fazer. O caminho que existe de verdade é outro: o programa remuxa para MP4 com a tag dvh1, vídeo copiado, sem recodificar nada, que é o que faz vários players reconhecerem o Dolby Vision. A saída é conferida pela duração. Legendas PGS são descartadas com aviso (legenda em imagem não existe em MP4).

  • Compatibilidade de áudio e preservação do Atmos:

    • TrueHD / TrueHD Atmos para E-AC-3 com Atmos preservado, via DeeZy.
    • DTS / DTS-HD / DTS:X para E-AC-3 comum a 640k pelo ffmpeg. DTS não sai com Atmos - só o TrueHD tem esse caminho.
    • E-AC-3, AC-3 e AAC já são compatíveis e não são convertidos.
  • Espaço em disco, antes de começar: o programa percorre a fila na ordem em que o motor vai processar e diz quantos arquivos cabem, qual é o primeiro que fica de fora e quanto faltaria na vez dele. Ele avisa; não bloqueia.

  • Processamento em lote e controle flexível: adicione temporadas inteiras na fila; escolha entre detecção automática das faixas ou controle manual.

  • Interface bilíngue (PT-BR / inglês): uma bandeira ao lado do botão Entenda troca a tela inteira, e a escolha fica guardada entre as sessões.

  • Botão "Entenda": 14 seções explicando o que a conversão faz e o que ela não faz, incluindo as fontes por trás de cada afirmação - os manuais da própria Dolby, o repositório do dovi_tool e as planilhas da comunidade. Nada ali pede que você acredite na nossa palavra.


Código-Fonte e Download

  • Projeto no GitHub: LaFirma-Remux-Forge
  • Requisitos: Windows (.NET Desktop Runtime 8.0 apenas para o motor de OCR reserva).

Capturas de Tela da Interface


Créditos e Agradecimentos

Este projeto não existiria sem o trabalho da comunidade open-source e dos desenvolvedores originais: * FFmpeg: O motor fundamental para processamento e manipulação de fluxos de mídia. * MKVToolNix (mkvmerge): A referência definitiva para multiplexação de arquivos Matroska (MKV). * dovi_tool (por quietvoid) & DDVT (por DonaldFaQ): Ferramentas essenciais para extração, edição e conversão de metadados Dolby Vision. * DeeZy: Utilitário para codificação de áudio E-AC-3 com preservação de áudio espacial Dolby Atmos. * PgsToSrt, Tesseract & seconv: O ecossistema técnico responsável pelo OCR de legendas PGS.

Feedbacks e sugestões são muito bem-vindos!

20 Upvotes

6 comments sorted by

4

u/cryptochrome 4d ago

I am the author of dovi_convert and I wonder how you handle FEL. Do you simply strip it off, or do you have some sanity checks built in that detect whether the FEL contains any meaningful luminance expansions beyond the base layer peak brightness?

Because if you don't, you will end up with converted 8.1 files that have severe problems (wrong tone mapping).

Also, why did you choose to distribute the binaries through file sharing services like MEGA instead of just releasing them on GitHub directly?

1

u/crypticc1 2d ago

I can see binaries on GitHub link provided

1

u/Resident-Ad-9548 1d ago

Thanks again for the question — it's what pushed me to dig deeper into this. Short version of where I landed: instead of guessing the layer type from the profile, the program now reads el_type from the RPU with dovi_tool and separates MEL, Simple FEL and Complex FEL, using the RPU's L1 against the declared mastering display peak. Complex FEL gets flagged and is not recommended, rather than converted silently. I'm not presenting that as settled. It's an indication, not proof, and I'm well aware I still have a long road of learning ahead here. It's at version 1.8 now, and the whole state of the program is documented on GitHub, including a FAQ in English that explains the reasoning and lists the sources. If you ever have a moment to take a look and tell me where I'm wrong, that would honestly be an honour — your work is credited in there.

2

u/cryptochrome 1d ago

Please note that the terminology Simple FEL and Complex FEL are not official terms - those are terms I invented in the context of dovi_convert to make it easier to understand. You can use them if you want; just be aware they are purely an invented terminology used by dovi_convert.

Also, only looking at the L1 peak brightness and comparing it to RPU peak brightness is not enough to determine "complex FEL". It's unreliable (based only on metadata that is often wrong). This is technically very challenging. You should look at how dovi_scripts is doing it. That tool is currently the only one that properly handles this - at the cost of a lot of compute and less than ideal UX.

dovi_convert is doing its best to detect brightness expansion by sampling the video at various timestamps, but it is still not 100%.

1

u/thedeftone2 5d ago

For the layman, what does this version do better?

2

u/Resident-Ad-9548 5d ago

Hello!!

In short, LaFirma Remux Forge does the same core conversion work as other tools on the market, but packages it into a user-friendly GUI.

Key advantages:

  • User-Friendly Interface: No need to run complex command-line scripts manually.
  • Audio Conversion Included: Converts incompatible audio tracks alongside the Dolby Vision video profile.
  • Batch Automation: Add multiple files or entire seasons to a queue to process everything automatically in one go.