FFMPEG extrai o áudio do vídeo com um som irritante no final

0

Estou usando o FFMPEG para extrair o áudio de um arquivo de vídeo * .avi
Este é o formato de arquivo avi impresso com ffprobe

ffprobe 0.avi
ffprobe version 2.8.4 Copyright (c) 2007-2015 the FFmpeg developers built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
configuration: --disable-yasm
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
Invalid UE golomb code <-- This line is red in console, it might be an error, but the video plays well
Last message repeated 2 times
Input #0, avi, from '0.avi':
Duration: 00:02:54.33, start: 0.000000, bitrate: 1880 kb/s
Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p, 1280x720, 1740 kb/s, 15 fps, 15 tbr, 15 tbn, 30 tbc
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, 1 channels, s16, 128 kb/s

Eu usei o comando ffmpeg:

ffmpeg -i 0.avi -vn -c:a copy sound0.wav

Converter progresso parece ok

Output #0, wav, to 'sound0.wav':
Metadata:
ISFT : Lavf56.40.101
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, 128 kb/s
Stream mapping:
Stream #0:1 -> #0:0 (copy)
Press [q] to stop, [?] for help
size= 2726kB time=00:02:54.49 bitrate= 128.0kbits/s
video:0kB audio:2726kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.002794%

Saída de informações sonoras:

Input #0, wav, from 'sound0.wav':
Metadata:
encoder : Lavf56.40.101
Duration: 00:02:54.49, bitrate: 128 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, 1
channels, s16, 128 kb/s

Tudo parece ok, mas um som irritante (apenas um sinal sonoro ou algo parecido) chega ao fim no arquivo de saída de áudio enquanto o vídeo de entrada está bem.

link

Eu não tenho conhecimento básico trabalhando com multimídia ou ffmpeg, então não tenho idéia do que aconteceu.

Qualquer ajuda seria apreciada.

    
por Loi Dang 14.01.2016 / 10:59

2 respostas

0

Parece que a cópia do fluxo está copiando todo o fluxo, incluindo a parte que se estende além da duração do vídeo.

Tente

ffmpeg -i 0.avi -vn -c:a copy -t 02:54.33 sound0.wav
    
por 14.01.2016 / 13:30
0

Talvez isso aconteça devido a problemas com codecs. A opção -c:a copy copia o codec de áudio.

use ffmpeg -i 0.avi -c:a libmp3lame sound0.mp3 para codificar seu áudio para o formato mp3.

    
por 03.10.2016 / 22:02