ffmpeg Qual é a diferença entre as opções -to e -t?

3

Comando

ffmpeg -ss 5:09 -i foo.mkv -to 5:10 -c copy bar.mkv

funciona exatamente como

ffmpeg -ss 5:09 -i foo.mkv -t 5:10 -c copy bar.mkv

É um erro?

Usando o Zeranoe git-bd75651 para Windows de 64 bits

>ffmpeg -version
ffmpeg version N-57906-gbd75651
built on Nov  4 2013 18:09:19 with gcc 4.8.2 (GCC)
configuration: --disable-static --enable-shared --enable-gpl --enable-version3 -
-disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enabl
e-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --ena
ble-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmo
dplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger
--enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enab
le-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis -
-enable-libvpx --enable-libwavpack --enable-libx264 --enable-libxavs --enable-li
bxvid --enable-zlib
libavutil      52. 51.100 / 52. 51.100
libavcodec     55. 41.100 / 55. 41.100
libavformat    55. 21.100 / 55. 21.100
libavdevice    55.  5.100 / 55.  5.100
libavfilter     3. 90.101 /  3. 90.101
libswscale      2.  5.101 /  2.  5.101
libswresample   0. 17.104 /  0. 17.104
libpostproc    52.  3.100 / 52.  3.100
    
por Vantuz 06.11.2013 / 21:44

2 respostas

3

A resposta real é que funciona como esperado. A opção -ss especificada antes da entrada permite que o ffmpeg procure primeiro essa posição e, em seguida, inicie a codificação às 00:00:00 como um registro de data e hora.

Isso significa que não importa se você codificar por 5 minutos com -t ou codificar até 00:05:00 com -to - porque você começou às 00:00:00.

Se você quiser começar com um registro de data e hora posterior, recorte o arquivo usando -ss após -i . Dessa forma, o ffmpeg codificará, mas iniciará a saída no registro de data e hora especificado, o que faz com que as opções funcionem como você espera.

    
por 06.11.2013 / 22:55
4

Da documentação do ffmpeg

‘-t duration (output)’ Stop writing the output after its duration reaches duration. duration may be a number in seconds, or in hh:mm:ss[.xxx] form.

-to and -t are mutually exclusive and -t has priority.

‘-to position (output)’ Stop writing the output at position. position may be a number in seconds, or in hh:mm:ss[.xxx] form.

-to and -t are mutually exclusive and -t has priority.

    
por 06.11.2013 / 21:50

Tags