Eu tenho um arquivo, input.mp3, que rodando o ffprobe dá o seguinte:
[mp3 @ 0x559431400a00] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from '../backup/1.mp3':
Metadata:
album : DW01-The Colour Of Magic
artist : Terry Pratchett
album_artist : Terry Pratchett
comment : Read By Nigel Planer
composer : Nigel Planer
genre : Discworld
publisher : Polygram
title : Colour Of Magic 1 of 6
track : 1
date : 1983
id3v2_priv.WM/Provider: A\x00M\x00G\x00\x00\x00
id3v2_priv.WM/WMCollectionGroupID: \xe4\xbba\xf0\xf2\xcd.D\xab\x92b\xeb{\x8b\x9a\xce
id3v2_priv.WM/WMCollectionID: \xe4\xbba\xf0\xf2\xcd.D\xab\x92b\xeb{\x8b\x9a\xce
id3v2_priv.WM/UniqueFileIdentifier: A\x00M\x00G\x00a\x00_\x00i\x00d\x00=\x00R\x00 \x00 \x00 \x002\x007\x007\x008\x004\x003\x00;\x00A\x00M\x00G\x00p\x00_\x00i\x00d\x00=\x00P\x00 \x00 \x00 \x00 \x00 \x00 \x003\x003\x007\x00;\x00A\x00M\x00G\x00t\x00_\x00i\x00d\x00=\x00T\x00 \x00 \x001\x005\x00
id3v2_priv.WM/WMContentID: h\x86H@^\xe6qF\x95T\x04m\x01P\x90\x7f
id3v2_priv.WM/MediaClassSecondaryID: \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
id3v2_priv.WM/MediaClassPrimaryID: \xbc}`\xd1#\xe3\xe2K\x86\xa1H\xa4*(D\x1e
id3v2_priv.ZuneCollectionID: \x1d\xcb\xdf\xf3X89D\x81\xd1\xd0s#P\x00\xf8
Duration: 01:08:19.30, start: 0.000000, bitrate: 32 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 32 kb/s
Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 274x417, 90k tbr, 90k tbn, 90k tbc (attached pic)
Metadata:
comment : Cover (front)
Há várias coisas que quero fazer com este arquivo, como concatená-lo com outros arquivos e, em seguida, dividi-lo em pequenos segmentos. Mas, por enquanto, considerarei apenas o caso simples de remover os metadados, pois isso por si só produz problemas semelhantes aos que estou enfrentando com essas outras operações. Quando executo o seguinte comando no arquivo acima:
ffmpeg -i input.mp3 -map 0:a -c:a copy -map_metadata -1 output.mp3
Então eu corro ffprobe em output.mp3
Input #0, mp3, from 'output.mp3':
Metadata:
encoder : Lavf58.29.100
Duration: 01:08:19.27, start: 0.011995, bitrate: 32 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 32 kb/s
Metadata:
encoder : Lavf
Por que a duração diminui em 0,03 segundos? E por que a hora de início não é mais 0? Além disso, por que, quando abro este arquivo em um vlc, parece ter problemas para descobrir a duração? Com o arquivo original, sabia a duração instantaneamente. Mas com o novo arquivo, parece estar tentando estimá-lo, aproximando-se lentamente com o tempo enquanto o reproduzo.
Informações do codec em vlc (e são idênticas para ambos os arquivos)
Stream 0
Codec: MPEG Audio layer 1/2 (mpga)
Type: Audio
Channels: Stereo
Sample rate: 44100 Hz
Bits per sample: 32
Bitrate: 32 kb/s