Keluarkan ffmpeg ke format tertentu

1

Saya memiliki file media dengan format berikut menurut ffprobe:

  Metadata:
    major_brand     : M4A 
    minor_version   : 0
    compatible_brands: M4A mp42isom
    creation_time   : 2013-03-21 07:05:30
  Duration: 00:00:00.42, start: 0.000000, bitrate: 118 kb/s
    Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 100 kb/s (default)
    Metadata:
      creation_time   : 2013-03-21 07:05:30
      handler_name    : Core Media Audio

Apakah mungkin untuk memiliki output ffmpeg ke format ini?

William Entriken
sumber

Jawaban:

2

Anda dapat menyandikan aliran AAC dengan parameter ini menggunakan perintah seperti ini:

ffmpeg -i in.wav -map 0:a -acodec libfdk_aac -ar 44100 -ac 2 -ab 100k out.m4a

Semua format input yang didukung dapat digunakan sebagai pengganti wav.

Jika ffmpeg Anda tidak dikonfigurasi dengan libfdk_aac kamu bisa memakai -acodec libfaac atau -acodec aac -strict experimental sebagai gantinya. Lihat ffmpeg Panduan Pengkodean AAC untuk detail lebih lanjut tentang enkode AAC yang berbeda.

Wadah akan memiliki merek utama M4A tetapi bukan nilai-nilai yang tepat untuk minor_version dan compatible_brands. Jika Anda membutuhkan nilai-nilai itu, Anda dapat mengubahnya dengan mp4box . Misalnya ini akan mengatur merek utama M4A dengan versi minor 0, dan hapus iso2 (ditambahkan oleh ffmpeg) dari daftar merek yang kompatibel:

mp4box -brand "M4A :0" -rb iso2 out.m4a
mark4o
sumber
Sempurna, terima kasih, kamu luar biasa
William Entriken
Bagaimana cara mengganti merek utama dengan ffmpeg? Bukan mp4box
Dr.jacky