feat: adiciona suporte para definir título e faixa padrão em faixas de áudio e legenda
This commit is contained in:
@@ -82,6 +82,20 @@ As ferramentas existentes são complexas (ex: interface direta do FFmpeg via CLI
|
||||
- O usuário pode atribuir um código de idioma a cada faixa (ex: `por`, `eng`)
|
||||
- Implementado via `ffmpeg -metadata:s`
|
||||
|
||||
### RF-10 — Definir nome da faixa
|
||||
|
||||
- O usuário pode preencher um título livre para cada faixa externa adicionada (ex: `Português`, `Comentários`)
|
||||
- O campo aceita string vazia, que instrui o `FfmpegCommandBuilder` a emitir `title=` limpando qualquer título herdado do arquivo fonte
|
||||
- Objetivo principal: sobrescrever títulos gerados automaticamente por ferramentas externas (ex: `"ISO Media file produced by Google Inc."` em arquivos M4A do Google) que confundem players como Jellyfin mobile
|
||||
- Implementado via `ffmpeg -metadata:s:a:{idx} title=` ou `-metadata:s:s:{idx} title=`; sempre emitido, mesmo quando vazio
|
||||
|
||||
### RF-11 — Definir faixa padrão
|
||||
|
||||
- O usuário pode marcar uma faixa externa como “faixa padrão” do container MKV
|
||||
- Quando marcada, o `FfmpegCommandBuilder` emite `-disposition:a/s:{idx} default` para a faixa selecionada e `-disposition:a/s:{orig_idx} 0` para todas as faixas existentes do mesmo tipo, removendo o flag `default=1` que o arquivo fonte carrega
|
||||
- Objetivo: garantir que players como Jellyfin selecionem automaticamente a faixa preferida sem depender de configuração manual no side do player
|
||||
- Implementado via `ffmpeg -disposition:a:{idx} default`
|
||||
|
||||
### RF-05 — Selecionar arquivo de vídeo base
|
||||
|
||||
- O usuário seleciona o arquivo de vídeo de entrada
|
||||
@@ -319,6 +333,7 @@ src/
|
||||
| DT-04 | Compatibilidade de codecs | Alguns codecs podem não ser aceitos | Usar MKV como container padrão |
|
||||
| DT-05 | Performance de processo externo | Pequeno overhead | Aceitável — mux é rápido |
|
||||
| DT-06 | ffprobe como dependência adicional | Parsing de JSON da saída do ffprobe | Validar presença de ffprobe na inicialização; exibir mensagem clara se ausente |
|
||||
| DT-07 | Compatibilidade com Jellyfin mobile | Faixas não selecionadas automaticamente | Investigando; as RFC RF-10 e RF-11 mitigam parcialmente — `title` e `disposition` são emitidos corretamente, porém o Jellyfin mobile pode ter comportamento diferente do web; requer testes com arquivo gerado |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user