Hanya menautkan ke solusi adalah praktik buruk. Setidaknya berikan beberapa contoh.
erik
1
Jika hanya ada satu aliran audio di dalam MP4, argumen -map tidak diperlukan, yaitu. menulis ini sudah cukup: ffmpeg -i INPUT.mp4 -c copy Output.aac
miyalys
Berikut ini cara membuatnya dalam mode batch. Pertama buat sub-folder "keluar" di mana file mp4 Anda berada. Kemudian, "buka jendela perintah" ke folder mp4 dan rekatkan yang berikut untuk% f di ("* .mp4") do C: \ yourpath \ ffmpeg \ bin \ ffmpeg -i "% f" -c copy -map 0: a: 0 out / "% ~ nf.aac"
Vijay Jagdale
9
mp4box juga bisa melakukan ini.
Untuk demux / mengekstrak aac dari mp4 (dengan asumsi audio adalah trek ke-2):
mp4box -raw 2 video.mp4
Ini secara otomatis akan membuat file output "video_track2.aac"
Jika Anda ingin kontrol atas nama file keluaran, Anda akan melakukannya
mp4box -raw 2 video.mp4 -out audio.aac
Jika Anda ingin melakukan remux kembali ke dalam wadah mp4 (yaitu untuk iTunes), Anda dapat melakukannya:
mp4box -single 2 video.mp4 -out audio.m4a
Anda kemudian dapat menempatkan ini dalam skrip batch untuk beroperasi di semua file dalam direktori:
for %%f in ("*.mp4") do (
mp4box -single 2 "%%f" -out "%%~nf.m4a"
)
+1 Terima kasih, perintah -lajang adalah persis apa yang saya cari (ini menambahkan info MP4 ke -raw)
Martin
6
Inilah perintah sebenarnya untuk digunakan karena semua tautan yang disediakan tidak benar-benar memberikannya, dan lagi pula: tautan membusuk dan mati sehingga harus selalu diganti dengan jawaban aktual di stackexchange.
Bekerja dengan baik (dengan proyek induk "ffmpeg.exe", bukan "avconv.exe") dan memperbaiki masalah output .aac dari timecode yang tidak akurat. Ternyata m4a adalah format wadah yang tepat.
SushiGuy
Saya mendapatkan "Output file # 0 tidak mengandung aliran apa pun"
Chris
0
Pertama saya hanya menggunakan mkvtoolnix untuk mengkonversi MP4 ke MKV dan menggunakan mkvextract gui untuk mengekstrak trek yang diperlukan. Banyak GUI kurang rumit dan penuh. Sama sekali tidak ada perubahan dalam komponen apa pun.
Jika kurang rumit, dapatkah Anda jelaskan bagaimana melakukan apa yang OP ingin lakukan dengan alat-alat ini? Juga, perhatikan bahwa pertanyaan itu meminta alat baris perintah.
Scott
Sebenarnya mkvtoolnix adalah ujung depan grafis untuk baris perintah mkvmerge.exe. Saya percaya Anda dapat menemukan saklar baris perintah dan informasi format perintah pada baris juga. GUI juga memiliki opsi untuk membuat file batch untuk bekerja pada banyak file.
Jawaban:
FFmpeg dapat melakukannya. Berikut adalah daftar perintah yang mungkin berguna bagi Anda. Buka di sini untuk instruksi.
Contoh:
-i
: input file-c copy
: menyalin bitstream tanpa re-encoding-map 0:a:0
: memilih trek dari: File input pertama -> trek audio -> trek pertama (trek audio pertama dari file input pertama)Perhatikan bahwa itu akan bekerja sama dengan
avconv
, yang merupakan garpuffmpeg
.sumber
ffmpeg -i INPUT.mp4 -c copy Output.aac
mp4box juga bisa melakukan ini.
Untuk demux / mengekstrak aac dari mp4 (dengan asumsi audio adalah trek ke-2):
Ini secara otomatis akan membuat file output "video_track2.aac"
Jika Anda ingin kontrol atas nama file keluaran, Anda akan melakukannya
Jika Anda ingin melakukan remux kembali ke dalam wadah mp4 (yaitu untuk iTunes), Anda dapat melakukannya:
Anda kemudian dapat menempatkan ini dalam skrip batch untuk beroperasi di semua file dalam direktori:
(skrip batch terinspirasi oleh videohelp dan stackoverflow )
Tautan unduhan:
https://github.com/gpac/gpac/releases
http://gpac.wp.mines-telecom.fr/downloads/gpac-nightly-builds/
sumber
Inilah perintah sebenarnya untuk digunakan karena semua tautan yang disediakan tidak benar-benar memberikannya, dan lagi pula: tautan membusuk dan mati sehingga harus selalu diganti dengan jawaban aktual di stackexchange.
sumber
Pertama saya hanya menggunakan mkvtoolnix untuk mengkonversi MP4 ke MKV dan menggunakan mkvextract gui untuk mengekstrak trek yang diperlukan. Banyak GUI kurang rumit dan penuh. Sama sekali tidak ada perubahan dalam komponen apa pun.
sumber
Super juga bisa melakukannya .
sumber