Saya menggunakan perintah seperti:
ffmpeg -i video.avi -i audio.mp3 -vcodec codec -acodec codec output_video.avi -newaudio
dalam versi terbaru untuk menambahkan trek audio baru ke video (bukan campuran).
Tapi saya memperbarui ffmpeg ke versi terbaru ( ffmpeg versi git-2012-06-16-809d71d ) dan sekarang dalam versi ini parameternya -newaudio
tidak berfungsi.
Tolong beri tahu saya bagaimana saya bisa menambahkan audio baru ke video saya (bukan campuran) menggunakan ffmpeg
.
Jawaban:
Tambahkan audio ke video: stream copy
-map
opsi akan menggunakan pemilihan aliran default . Ini akan berfungsi jika input video Anda tidak memiliki audio.-codec copy
untuk melakukan streaming salinan (tidak ada penyandian ulang; kualitas dipertahankan dan cepat).-shortest
pilihan akan membuatoutput.avi
durasi yang sama sebagai masukan terpendek.Tambahkan audio ke video: penyandian ulang
Jika output Anda tidak menyukai format asli, atau jika Anda ingin mengubah format, Anda dapat menentukan encoders:
Untuk secara manual memilih aliran tertentu
Terkadang pemilihan aliran default tidak akan memberikan hasil yang Anda inginkan. Dalam contoh ini
video.mp4
memiliki video dan audio, danaudio.m4a
hanya memiliki audio. Gunakan-map
untuk memilih video darivideo.mp4
dan audio dariaudio.m4a
:-map 0:v
- Dari input0
( input pertama, yaituvideo.mp4
) pilihv
aliran ideo.-map 1:a
- Dari input1
( input kedua, yaituaudio.m4a
) piliha
udio stream.Mencampur / menggabungkan dua input audio menjadi satu
Ambil video dari
video.webm
, dan gunakan filter amerge untuk menggabungkan audio darivideo.webm
danaudio.oga
:Hasilkan audio diam
Anda dapat menggunakan filter anullsrc untuk membuat aliran audio diam. Filter memungkinkan Anda memilih tata letak saluran yang diinginkan (mono, stereo, 5.1, dll) dan laju sampel.
Lihat juga
sumber
-map 0:0 -map 1:0
bukan-map 0 -map 1
melakukan trik untuk saya. Terima kasih!-shortest
opsi bekerja lebih baik untuk saya.mp3 musik ke wav
terpotong agar sesuai dengan video
mencampur musik dan video
sumber
Jika video input memiliki beberapa trek audio dan Anda perlu menambahkan satu lagi, gunakan perintah berikut:
-map 0
berarti menyalin (termasuk) semua stream dari file input pertama (input_video_with_audio.avi
) dan-map 1
berarti untuk memasukkan semua stream (dalam hal ini satu) dari file input kedua (new_audio.ac3
).sumber
Tak satu pun dari solusi ini cukup berhasil untuk saya. Audio asli saya sedang ditimpa, atau saya mendapatkan kesalahan seperti "gagal memetakan memori" dengan contoh 'amerge' yang lebih kompleks. Sepertinya saya perlu -filter_complex amix.
sumber
Tidak ada yang berhasil bagi saya (saya pikir itu karena input .mp4 video saya tidak memiliki audio) jadi saya menemukan ini bekerja untuk saya:
sumber
Jika Anda menggunakan FFMPEG versi lama dan Anda tidak dapat memutakhirkannya, Anda dapat melakukan hal berikut:
Perhatikan bahwa saya menggunakan -vcodec
sumber
Kode untuk menambahkan audio ke video menggunakan ffmpeg.
Jika panjang audio lebih besar dari panjang video, itu akan memotong audio ke panjang video. Jika Anda ingin audio lengkap dalam video hapus -pendek dari cmd.
String[] cmd = new String[]{"-i", selectedVideoPath,"-i",audiopath,"-map","1:a","-map","0:v","-codec","copy", ,outputFile.getPath()};
sumber
Environment.getExternalStorageDirectory().getAbsolutePath()+"/videoaudiomerger/"+"Vid"+"output"+i1+".mp4");
?