Como sincronizar o split mkv + external srt com o ffmpeg?

0

Eu quero converter o áudio MKV de DTS para MP3 e dividir o arquivo ao mesmo tempo. O problema é: eu preciso de um .srt externo, mas quando eu o divido, o segundo arquivo é dessincronizado do vídeo.

Exemplo:

ffmpeg -ss 01:00:00 -i videoIN.mkv -ss 01:00:00 -i videoIN.srt -map 0 \
-vcodec copy -acodec libmp3lame videoOUT.mkv -map 1 -c copy videoOUT.srt

O resultado é perfeitamente jogável, mas os submarinos são ligeiramente dessincronizados, provavelmente porque o vídeo é cortado no quadro-chave mais próximo, mas os submarinos são cortados exatamente.

Usar busca precisa ( -ss antes do arquivo de saída) produz um sub-sincronizado, mas o vídeo não pode ser reproduzido pelo meu media player, provavelmente porque ele é iniciado sem um quadro-chave.

Como posso cortar o .srt no quadro-chave mais próximo com o ffmpeg?

ffmpeg version 2.5.3-tessus Copyright (c) 2000-2015 the FFmpeg developers
  built on Jan 10 2015 01:19:50 with Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
  configuration: --cc=/usr/bin/clang --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-libsoxr --enable-libwavpack --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-libmodplug --enable-fontconfig --enable-libfreetype --enable-libass --enable-libbluray --enable-filters --disable-indev=qtkit --disable-indev=x11grab_xcb --enable-runtime-cpudetect
  libavutil      54. 15.100 / 54. 15.100
  libavcodec     56. 13.100 / 56. 13.100
  libavformat    56. 15.102 / 56. 15.102
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
    
por Sergio 27.02.2015 / 15:04

1 resposta

0

Você pode sincronizar seu arquivo srt com o Subtitle Edit. Isso é um software livre.

    
por 10.03.2015 / 12:04