Erros FFMpeg quando não existe legenda

0

Estou tentando converter .mkv para .mp4 usando o ffmpeg e durante a conversão também estou tentando gravar as legendas, se elas existirem. Aqui está a linha de comando. Este é um script:

$PGMNAME -i "$1" -s hd720 -c:v libx264 -crf 23 -c:a copy -strict -2 -vf subtitles="$1"  "$BASEPATH/$FILENAME.mp4"

"$1" é o arquivo original que é um arquivo .mkv contendo (ou não e este é o problema) uma legenda. Com o acima estou recebendo os seguintes erros:

Unable to locate subtitle stream file.mkv

e

Error initializing filter 'subtitles'

Estes são programas de TV baixados Over The Air. É desconhecido qual deles contém legendas. Como posso reescrever o comando para que eu não receba o erro Unable to locate subtitle stream file.mkv ?

    
por Widgeteye 06.05.2017 / 21:22

1 resposta

1

Use ffprobe para determinar se há um fluxo de legendas. Se houver, use o filtro legendas .

ffprobe -loglevel error -select_streams s:0 -show_entries stream=codec_type -of csv=p=0 input.mkv
  • Se houver legendas, a saída será subtitle .
  • Se não houver legendas, não haverá saída alguma.
por 06.05.2017 / 22:46

Tags