Atualmente, estou usando esse script de morcego, mas o problema é que, na metade do tempo, recebo essa mensagem, embora a faixa original.mp4 deva ficar em silêncio em -ss
time stamp.
REM ffmpeg ~ Run ffmpeg.exe.
REM " ^" ~ Without the qoutes, this is used for splitting 1 command on multiple lines.
REM -loop 1 ~ Use for using image input as frames. Be aware -to is required for encoding to stop.
REM -i [file] ~ Audio/Image/Video file to input.
REM -acodec [codec] ~ Codec to use. "copy" without the qoutes, for copying source stream without damage.
REM -ss [hh:mm:ss.ms] ~ Starting offset time for output file.
REM -to [hh:mm:ss.ms] ~ Ending offset time for output file. Not based of -ss.
REM -vf [format=yuv420p] ~ Video compatibilitiy for rubbish players. "Films & TV" on Windows is one of them.
REM -y ~ Auto comfirm output file overwrite if it already exists.
REM [file] ~ The last parameter is the output file. File extension auto does the hard work.
ffmpeg ^
-loop 1 ^
-i image.png ^
-i original.mp4 ^
-acodec copy ^
-ss 00:00:07.07 ^
-to 00:02:29.15 ^
-vf format=yuv420p ^
-y ^
output.mp4
REM Open file after ffmpeg operation.
output.mp4
Ignore os comentários do .bat. Está lá apenas para referência futura e facilita a leitura para mim.
A saída está copiando o fluxo de áudio recortado do vídeo gravado original sem qualquer perda para o áudio por meio de recodificação enquanto substitui o vídeo por uma imagem estática em 1280x720.
Às vezes, quando eu tenho sorte que o blip não está após a tentativa de regravação, às vezes ainda é ouvido no YouTube. Mas eu quero cortar o áudio sem qualquer dano de áudio por meio de recodificação.
Este é o ffprobe do vídeo gravado original.
ffprobe version 3.4.2 Copyright (c) 2007-2018 the FFmpeg developers
built with gcc 7.3.0 (GCC)
configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'original.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2018-03-30T15:30:12.000000Z
Duration: 00:05:09.75, start: 0.000000, bitrate: 1581 kb/s
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default)
Metadata:
creation_time : 2018-03-30T15:30:12.000000Z
handler_name : SoundHandle
Stream #0:1(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 426x240, 1478 kb/s, 30.06 fps, 28.50 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2018-03-30T15:30:12.000000Z
handler_name : VideoHandle
Eu já tentei adicionar -af "volume=volume='between(t,0,3)':volume=0"
do link , mas o FFMPEG avisa que não pode ser usado com -acodec copy
.
Atualizar
Eu encontrei uma solução. Eu o configurei para parar de reproduzir no arquivo de saída após 3 segundos para acelerar a conversão, aumentando também os milissegundos iniciais em 10 a 50 e, em seguida, procurando o milésimo de segundo absoluto até que não haja nenhum blip ouvido. Talvez não seja a solução mais fácil, mas conclua o trabalho por enquanto.