Como passar um arquivo com colchetes no nome para ffmpeg


1

Considere este comando ffmpeg

ffmpeg -i old_video.mkv -vf subtitles=old_video.mkv -acodec copy new_video.mp4

Funciona bem se old_video.mkv não tiver colchetes no nome. No entanto, se houver colchetes no ame (por exemplo, [old_video] .mkv, recebo um erro "erro ao inicializar legendas de filtro com arg ''

Eu tentei escapar com 1, 2 até 5 \ e ainda assim nunca funciona


1
Tente colocar um `\` na frente de cada colchete.
Break

1
Você tentou encerrar em 'ou "?
Gyan 17/02

Estou executando um script no qual passo cada nome de arquivo como "$ my_file" e as aspas não funcionam. Eu também tentei escapar dos colchetes com o sed, que funciona para, lsmas não para ffmpeg.
CoolAJ86

Respostas:


0

Não estou muito familiarizado com o ffmpeg, mas, pelo seu post, posso presumir que os caracteres '[]' sejam significativos. Talvez a maneira mais direta de lidar com isso seja simplesmente remover os colchetes renomeando o arquivo (os colchetes não são significativos para 'mv'):

mv '[old_video].mkv' old_video.mkv ffmpeg -i old_video.mkv -vf subtitles=old_video.mkv -acodec copy new_video.mp4

Você sempre pode colocá-los de volta após a conversão ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.