Não. Os hardsubs modificam o conteúdo do vídeo e, portanto, é necessário recompactá-lo.
Estou usando um programa para codificar subs em um arquivo AVI. O problema é que recomprime o vídeo usando um codec. Não vejo por que isso é necessário e provoca uma perda perceptível de qualidade. Existe um programa que irá colocar os submarinos sem ter que recomprimir o vídeo para que não haja perda de qualidade de vídeo?
Eu acho que, como é tipicamente usado, legendas duras significam que elas são embutidas nos dados da imagem, o que, por definição, requer re-compressão. Legendas suaves são adicionadas como arquivos separados, por exemplo .srt. No entanto, existe um caminho intermediário em legendas incorporadas. Legendas incorporadas são adicionadas ao contêiner de vídeo como uma faixa separada, o que significa que elas serão incluídas no arquivo, mas não exigem nova compactação.
Para o formato Divx, a melhor ferramenta é o aplicativo AVIAddXSubs baseado no Windows. Pode incorporar legendas Idx / Sub / Srt.
Para o MP4 e algumas outras alternativas, o Handbrake pode incorporar legendas flexíveis. Leia mais no seu wiki
Você pode usar o mplayer para reproduzir o vídeo com legendas e depois exportar tudo para um arquivo yuv bruto (-vouv4mpeg). Se você reproduzir um filme, esse arquivo gerado será realmente enorme, centenas de gigabytes, portanto, certifique-se de que ele não cause problemas.
Após o arquivo ter sido enviado, ele pode ser compactado usando o ffmpeg e, em seguida, o codec H264.
A recompressão é necessária porque você altera os dados do quadro se você sobrepor o texto no próprio quadro. Portanto, o fluxo de trabalho fica em Decompress frame > Modify it to add text > recompress frame
.
Você pode usar um codec sem perdas para o arquivo com as legendas adicionadas. Um seria huffyuv, h.264 e Dirac também parece ter perfis sem perdas. (Isso resultará em qualidade idêntica ao arquivo original, com um tamanho de arquivo muito maior)
Teoricamente, pode ser possível escrever um aplicativo que apenas recodifique os blocos alterados pelas legendas, mas isso provavelmente precisa ser embutido no código do codec ... Isso deve permitir limitar as áreas das quais a qualidade é afetado ... Não estou ciente de nada parecido que exista ... (Também precisaria ser escrito especificamente para cada codec, enquanto a alteração de um quadro descompactado permite que bibliotecas existentes de codificadores e decodificadores sejam usadas, assim como recompressing em um formato diferente)
O ideal é usar arquivos compactados sem perdas até que a edição seja concluída e o arquivo final seja exportado com a compactação preferida. Isso só funciona para vídeos que você produz no entanto.
Outra opção, que pode ser aceitável, é adicionar as legendas como um fluxo de dados adicional (isso permitirá que elas sejam desligadas). MPEG-4 Timed text é um desses formatos de legenda, o Ogg Writ é outro. (Mas nenhum deles parece suportar um contêiner AVI) (Com esses, as legendas são apenas outra faixa, como o áudio e o vídeo que são renderizados quando o arquivo é reproduzido)
Ele também pode funcionar para recompactar usando um codec melhor (provavelmente Dirac, H.264 ou H.265, dependendo do formato de entrada) para tentar limitar a perda de qualidade sem um grande aumento no tamanho do arquivo.