ffmpeg arquivo de burro hardsubbing em mp4

1

Não consigo fazer o hardsub de um arquivo de legenda em um arquivo mp4. O código que usei (que parece funcionar uma ou duas vezes) é:

ffmpeg -i "videofile" -vf "ass=assfile" -scodec copy "outputfile"

Como eu entendi, é uma construção estática. Estou usando a versão ffmpeg:

ffmpeg version N-70239-g111d79a Copyright (c) 2000-2015

e --enable-libass aparecem na lista de configurações.

Quando eu adiciono "-v debug" ao comando, posso ver como ele está analisando as opções, e parece entender "-scodec copy" de alguma forma:

Reading option '-scodec' ... matched as option 'scodec' (force subtitle codec ('copy' to copy stream)) with argument 'copy'.

Alguém tem alguma idéia de por que não está funcionando?

    
por Wee Leong Tay 26.06.2015 / 04:51

2 respostas

1

Parece que o problema é devido à compilação estática que estou usando e que, como resultado disso, preciso definir algumas variáveis de ambiente e ter um arquivo fonts.conf. O lugar que recebi minha resposta foi:

link

O fonts.conf também pode ser encontrado lá.

Eu configurei as variáveis de ambiente para:

FC_CONFIG_DIR=C:\Program Files\ffmpeg
FONTCONFIG_FILE=fonts.conf
FONTCONFIG_PATH=C:\Program Files\ffmpeg

... no qual eu basicamente salvei o fonts.conf na raiz da pasta ffmpeg e criei novas variáveis.

    
por 29.06.2015 / 05:06
0

Motivo:

Seu código tem -scodec copy. Eu não acho que há um scodec como -vcodec e acodec , acho que esse é o seu erro e então tente removê-lo.

Solução:

ffmpeg -i "videofile" -vf "ass=assfile" "outputfile"

Considere:

O filtro ass precisa que o ffmpeg seja compilado com --enable-libass.

Além disso, você deve ter certeza de que você está usando arquivos ass, caso contrário, converta-os para ass:

ffmpeg -i yourSubtitle.srt yourSubtitle.ass
    
por 26.06.2015 / 05:07