BASH FFMPEG SUB HARDCODING;)

2

Eu tenho trabalhado com o FFMPEG para codificar subs.

$for i in *.mkv;do ffmpeg -i "$i" -map 1 -filter_complex subtitles=video.ssa -vcodec libx264 -acodec aac -copy_unknown -map_metadata:s:v 0:g "../../A/bra/ca/da/bra/SS/taging/C24/${i%.mkv*}.mp4";done

Abaixo estão as mensagens de erro que recebi desde a habilitação da biblioteca libass; No entanto, eu não sei o suficiente sobre edição de vídeo para entender tudo isso. Minha pergunta é no que diz respeito à codificação.

Na documentação do ffmpeg, a seção AVOption: subtitle_filter_complex declara que a codificação deve dizer: -vf subtitles=video.srt –– este é o exemplo deles para a seção de legendas –– e eles especificam que isso vai levar o fluxo de legenda de entrada e “queimar” no fluxo de vídeo da saída.

código de erro ffmpeg

$s[Parsed_subtitles_0 @ 0x7fe77ef00000] Unable to open video.ssa
[AVFilterGraph @ 0x7fe77ee0cf80] Error initializing filter 'subtitles' with args 'video.ssa'
Error initializing complex filters.
No such file or directory

mensagem de erro completa:

$[Parsed_subtitles_0 @ 0x7fe77ef00000] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.7.5 (COMPLEX)
[Parsed_subtitles_0 @ 0x7fe77ef00000] Unable to open video.ssa
[AVFilterGraph @ 0x7fe77ee0cf80] Error initializing filter 'subtitles' with args 'video.ssa'
Error initializing complex filters.
No such file or directory'

A minha pergunta é como você utiliza o filter_complex em relação ao seu exemplo?

A parte "video.ssa" do comando inverte para o nome do arquivo do vídeo que contém o fluxo.

Mas isso significa que eu tenho que substituir o "nome do arquivo" ou "vídeo" por uma variável em lote?

    
por croakouttatune 16.02.2018 / 12:45

0 respostas