Este projeto é uma aplicação em C# Windows Forms que facilita a incorporação de faixas de legendas internas de vídeos no formato .mkv
. Utilizando o FFmpeg, a aplicação oferece uma interface simples para escolher uma faixa de legenda embutida no vídeo e adicioná-la de forma prática como uma parte permanente do arquivo.
Subtitles
para representar uma faixa de legenda com Id
e Title
..mkv
..mp4
com a legenda incorporada..mkv
._Legendado.mp4
no mesmo diretório.Aqui está uma amostra de como a função EmbedySubtitle utiliza o FFmpeg para incorporar a faixa de legenda selecionada:
private async void EmbedySubtitle(Subtitles sub, string filePath)
{
await Task.Run(() =>
{
Process cmd = new Process();
cmd.StartInfo.FileName = "ffmpeg";
cmd.StartInfo.ArgumentList.Add("-i");
cmd.StartInfo.ArgumentList.Add(filePath);
cmd.StartInfo.ArgumentList.Add("-vf");
cmd.StartInfo.ArgumentList.Add($"subtitles='{filePath}':si={sub.Id},eq=saturation=0.8");
cmd.StartInfo.ArgumentList.Add("-c:v");
cmd.StartInfo.ArgumentList.Add("hevc_amf");
cmd.StartInfo.ArgumentList.Add("-quality");
cmd.StartInfo.ArgumentList.Add("balanced");
cmd.StartInfo.ArgumentList.Add("-c:a");
cmd.StartInfo.ArgumentList.Add("copy");
cmd.StartInfo.ArgumentList.Add(Path.Combine(Path.GetDirectoryName(filePath), Path.GetFileNameWithoutExtension(filePath) + "_Legendado.mp4"));
cmd.Start();
cmd.WaitForExit();
});
}
Sinta-se à vontade para contribuir com melhorias ou novas funcionalidades. Abra uma issue ou crie um pull request para discutir suas ideias.
Este projeto é distribuído sob a licença MIT. Consulte o arquivo LICENSE
para mais informações.