Parameter durasi diabaikan

4

Saya mengonversi file FLAC ke AAC. Saya perhatikan bahwa durasinya tidak aktif pada file output. Ini bahkan terjadi jika Anda secara eksplisit mengatur durasi output, itu hanya akan diabaikan

$ ffmpeg -i foo.flac -t 00:02:52.48 -c:a aac -strict -2 bar.aac
[flac @ 000000000035d960] max_analyze_duration 5000000 reached at 5015510 microseconds

Input #0, flac, from 'foo.flac':
  Duration: 00:02:52.48, bitrate: 446 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Output #0, adts, to 'bar.aac':
    Stream #0:0: Audio: aac, 44100 Hz, stereo, fltp, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (flac -> aac)
Press [q] to stop, [?] for help
size=    2770kB time=00:02:52.50 bitrate= 131.5kbits/s
video:0kB audio:2719kB subtitle:0 global headers:0kB muxing overhead 1.867920%

hasil

$ ffmpeg -i foo.flac -i bar.aac    
Input #0, flac, from 'foo.flac':
  Duration: 00:02:52.48, bitrate: 446 kb/s
Input #1, aac, from 'bar.aac':
  Duration: 00:02:49.29, bitrate: 134 kb/s

Bisakah saya mengubah perintah saya sehingga durasi input dan output cocok?

Steven Penny
sumber

Jawaban:

6

File AAC 'mentah' tidak berisi informasi tentang konten file. Saat Anda mengaktifkan semua info debug, Anda dapat melihat bahwa waktu diukur tergantung pada bitrate saat mengimpor file aac:

[aac @ 0xa82ba40] Estimating duration from bitrate, this may be inaccurate

Tapi, ketika Anda mengemas file aac Anda dalam wadah MPEG-4 misalnya, semua konten yang diinginkan disimpan dalam wadah. Coba meng-encode file audio flac Anda ke aac dan mux ke dalam wadah .m4a menggunakan parameter ini dan lihat apa yang terjadi jika Anda mengimpor file .m4a lagi:

ffmpeg -i foo.flac -t 00: 02: 52.48 -c: aac -strict -2 bar.m4a

Nick van Tilborg
sumber
1
.m4a (yang secara harfiah merupakan file MP4 dengan nama yang berbeda) biasanya digunakan untuk file MP4 yang hanya mengandung audio, dan ffmpeg mengenali output.m4a sebagai file MP4. +1 sekalipun, jawaban yang bagus.
evilsoup
Terima kasih, Anda benar, saya mengedit jawaban saya untuk mencocokkan wadah MPEG4 yang tepat untuk audio saja.
Nick van Tilborg