Di sini, kami mengasumsikan bahwa file video belum mengandung aliran audio apa pun, dan Anda ingin memiliki format output yang sama (di sini, MP4) sebagai format input.
Perintah di atas mentranskode audio, karena MP4 tidak dapat membawa stream audio PCM. Anda dapat menggunakan codec audio lain yang diinginkan jika diinginkan. Lihat Panduan Pengkodean AAC untuk info lebih lanjut.
Jika aliran audio atau video Anda lebih lama, Anda dapat menambahkan -shortestopsi sehingga ffmpeg akan berhenti melakukan pengkodean setelah satu file berakhir.
Menyalin audio tanpa pengodean ulang
Jika wadah keluaran Anda dapat menangani (hampir) codec apa pun - seperti MKV - maka Anda cukup menyalin streaming audio dan video:
Saya mencobanya tetapi ffmpeg membeku saat penggabungan
Sandy
4
Saya tidak berpikir wadah mp4 dapat memiliki aliran audio wav. Cobaffmpeg -i audio.wav -i video.mp4 -acodec copy -vcodec copy -f mkv output.mkv
Luke
1
Saya menggunakan ini dan itu mengganti audio asli dari audio input. Bagaimana jika saya ingin menggabungkan audio input dengan audio input video?
Iqbal Malik
Baris perintah yang sangat manis ...
Chandra Nakka
Hebat, saya menggunakan ffmpeg -i video.mp4 -i audio.wav \ -c: v copy -c: aac-output eksperimental yang ketat.mp4 untuk menggabungkan MP3 dengan file Wav ... => mp4 5 menit, dihasilkan 30 detik ..Terima kasih
sonida
12
Karena saya tidak diperbolehkan menulis komentar pada jawaban pertama dengan reputasi saya, sebuah tambahan di sini, karena saya mempunyai masalah ini ketika menyandikan webms. Jika aliran audio Anda misalnya lebih panjang dari aliran video , Anda harus memotongnya atau Anda akan memiliki bingkai video terakhir sebagai gambar diam dan audio berjalan.
Untuk memotong aliran mana pun, Anda dapat menggunakan -ss [hh: mm: ss] -t [ss] sebelum masing-masing dari -i "file.ext".
-ss [...] akan menentukan titik awal untuk memotong
-t [...] akan menentukan panjang segmen dalam detik
Ini benar-benar tidak perlu untuk menggambarkan cara menggunakan baris perintah di sini. Ini cukup banyak tersirat bahwa pengguna akan dapat mengetahuinya. Terutama karena penanya ditentukan FFmpeg. Semua sama, -shortesttag ini sangat bagus. Jauh lebih sederhana dari pada jawaban @ user136036.
Kat
3
Ini akan menyandikan ulang semuanya, yang mungkin bukan yang diinginkan.
Coba gunakan mencoder (Ya itu berbasis ffmpeg, tetapi Anda tidak pernah tahu). Saya menggunakan -audiofileargumen. Saya biasanya menggunakan ffmpeg, jadi ikuti saran ini dengan sedikit garam.
Dan, jika Anda menggunakan Windows, Mediacoder (bukan open source lagi sayangnya) berfungsi ... itu pada dasarnya sebuah frontend untuk banyak encoders gnu dan beberapa yang tidak bebas.
Jawaban:
Menggabungkan video dan audio, dengan pengodean ulang audio
Lihat contoh ini, diambil dari entri blog ini tetapi diperbarui untuk sintaksis yang lebih baru. Itu harus menjadi sesuatu dengan efek:
Di sini, kami mengasumsikan bahwa file video belum mengandung aliran audio apa pun, dan Anda ingin memiliki format output yang sama (di sini, MP4) sebagai format input.
Perintah di atas mentranskode audio, karena MP4 tidak dapat membawa stream audio PCM. Anda dapat menggunakan codec audio lain yang diinginkan jika diinginkan. Lihat Panduan Pengkodean AAC untuk info lebih lanjut.
Jika aliran audio atau video Anda lebih lama, Anda dapat menambahkan
-shortest
opsi sehingga ffmpeg akan berhenti melakukan pengkodean setelah satu file berakhir.Menyalin audio tanpa pengodean ulang
Jika wadah keluaran Anda dapat menangani (hampir) codec apa pun - seperti MKV - maka Anda cukup menyalin streaming audio dan video:
Mengganti aliran audio
Jika video input Anda sudah mengandung audio, dan Anda ingin menggantinya, Anda harus memberi tahu ffmpeg aliran audio mana yang akan diambil:
The
map
pilihan membuat ffmpeg hanya menggunakan aliran video pertama dari input pertama dan stream audio pertama dari input kedua untuk file output.sumber
ffmpeg -i audio.wav -i video.mp4 -acodec copy -vcodec copy -f mkv output.mkv
Karena saya tidak diperbolehkan menulis komentar pada jawaban pertama dengan reputasi saya, sebuah tambahan di sini, karena saya mempunyai masalah ini ketika menyandikan webms.
Jika aliran audio Anda misalnya lebih panjang dari aliran video , Anda harus memotongnya atau Anda akan memiliki bingkai video terakhir sebagai gambar diam dan audio berjalan.
Untuk memotong aliran mana pun, Anda dapat menggunakan -ss [hh: mm: ss] -t [ss] sebelum masing-masing dari -i "file.ext".
-ss [...] akan menentukan titik awal untuk memotong
-t [...] akan menentukan panjang segmen dalam detik
Contoh:
sumber
-shortest
untuk memotong bagian akhirnya.-buka perintah promt (windows + r -> cmd-> enter)
-Kemudian pergi ke dalam folder di mana Anda memiliki file audio dan video
terapkan cmd ini
Masukkan .... Anda akan mendapatkan file baru bernama outPutFime.mp4 (file gabungan audio dan video)
sumber
-shortest
tag ini sangat bagus. Jauh lebih sederhana dari pada jawaban @ user136036.Ini bekerja untuk saya:
sumber
Coba gunakan mencoder (Ya itu berbasis ffmpeg, tetapi Anda tidak pernah tahu). Saya menggunakan
-audiofile
argumen. Saya biasanya menggunakan ffmpeg, jadi ikuti saran ini dengan sedikit garam.Dan, jika Anda menggunakan Windows, Mediacoder (bukan open source lagi sayangnya) berfungsi ... itu pada dasarnya sebuah frontend untuk banyak encoders gnu dan beberapa yang tidak bebas.
sumber