
Eu tenho um vídeo. Aqui está ffprobe
a saída:
> ffprobe 7347-00009\ kliksa.mp4
ffprobe version 2.6.1 Copyright (c) 2007-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.6.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-libfreetype --enable-libvorbis --enable-libvpx --enable-libass --enable-ffplay --enable-libfdk-aac --enable-libopus --enable-libquvi --enable-libx265 --enable-nonfree --enable-vda
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7347-00009 kliksa.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: avc1isommp42
creation_time : 2015-09-17 14:04:14
Duration: 00:00:30.44, start: 0.000000, bitrate: 7238 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 6977 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
Metadata:
creation_time : 2015-09-17 14:04:14
handler_name : ?Apple Video Media Handler
encoder : inegy Cinecoder H.264 Encoder
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 255 kb/s (default)
Metadata:
creation_time : 2015-09-17 14:04:14
handler_name : ?Apple Sound Media Handler
Todos os jogadores mostram que a duração é de 30 segundos. Mas a duração EXATA é 00:00:30.44
como ffprobe
mostra.
O que eu quero fazer é definir a duração dos vídeos para EXATAMENTE 00:00:30.00
.
Eu tentei isso:
ffmpeg -i 7347-00009\ kliksa.mp4 -c copy -ss 00:00:00.000 -to 30.000 test.mp4
Mas ainda tenho uma duração de 00:00:30.02
. Aqui está a saída do ffprobe:
> ffprobe test.mp4
ffprobe version 2.6.1 Copyright (c) 2007-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.6.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-libfreetype --enable-libvorbis --enable-libvpx --enable-libass --enable-ffplay --enable-libfdk-aac --enable-libopus --enable-libquvi --enable-libx265 --enable-nonfree --enable-vda
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.25.101
Duration: 00:00:30.02, start: 0.000000, bitrate: 7240 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 6982 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 255 kb/s (default)
Metadata:
handler_name : SoundHandler
Então, como posso cortar um quadro de vídeo com precisão?
Responder1
De acordo comesseresposta, o corte de vídeo com precisão de quadro usando ffmpeg
sem recodificação só é possível nos limites do GOP. Não tenho certeza se isso se aplica ao corte apenas do final de um vídeo ou não.
Aliás, um vídeo com taxa de quadros constante a 25 fps não pode ter duração de 30,02 segundos. Supõe-se que 1 quadro fique em exibição por 1/25 de segundo, o que equivale a 0,04 segundos.
Talvez o seu vídeo tenha carimbos de data e hora ruins? Tente regenerá-los:
ffmpeg -i test.mp4 -fflags +genpts output.mp4