Saya memiliki file video mp4 dengan beberapa trek audio. Saya ingin menghapus sisa trek dan hanya menyimpan satu. Bagaimana saya melakukan ini?
video-editing
tepang
sumber
sumber
Jawaban:
Pertama jalankan
ffmpeg -i file.mp4
untuk melihat aliran mana yang ada di file Anda. Anda harus melihat sesuatu seperti ini:Kemudian jalankan
ffmpeg -i file.mp4 -map 0:0 -map 0:2 -acodec copy -vcodec copy new_file.mp4
untuk menyalin streaming video dan streaming audio ke-2new_file.mp4
.sumber
Option map (set input stream mapping) cannot be applied to input file file.mp4 new_file.mp4 -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to.
: untuk memperbaikinya cukup ubah urutan argumen dengan demikian:ffmpeg -i file.mp4 -map 0:0 -map 0:2 -acodec copy -vcodec copy new_file.mp4
-c copy
untuk memiliki aliran identik untuk audio, video tetapi juga sub judul:ffmpeg -i input.mp4 -map 0:0 -map 0:2 -c copy output.mp4
.Masalah terkait — menghapus semua trek audio dari file mp4 dapat dilakukan sebagai berikut:
sumber
The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
Tapi saya menambahkan bendera itu dan masih sama ...?Identifikasi nomor aliran:
Gunakan
-map _file_:_stream_
untuk memilih aliran mana untuk diproses dan di-outputlihat: https://ffmpeg.org/ffmpeg.html#Advanced-options
sumber
Anda dapat mencoba
avidemux
yang menangani hanya satu file audio secara internal (dan karenanya memaksa Anda untuk memilih satu trek tertentu). Saya belum pernah mencobanya dengan .mp4 tetapi berfungsi dengan format lain.sumber
Saya menggunakan Avidemux (GUI) beberapa kali, dan ffmpeg (konsol).
Di Avidemux, Anda memilih "Audio" -> "Pilih trek" di menu utama; lalu simpan video Anda sebagai file baru.
Yang cukup menarik, dalam beberapa kasus Avidemux menghasilkan output "lebih baik" daripada ffmpeg.
untuk jaga-jaga, Avidemux dan ffmpeg berada dalam repositori standar Fedora Linux. (Saya yakin itu juga standar untuk citarasa Linux lainnya.)
sumber
-vn
atau-an
akan menghapus semua trek video atau audio. Memasok-vn -acodec copy
akan menghapus video;-an -vcodec copy
akan menghapus semua audio.-vcodec copy
menetapkan bahwa ffmpeg harus melakukan salin langsung trek video yang ada (dan tidak melakukan pemrosesan / penyandian apa pun). Jika Anda tidak menentukannya, maka ia masih akan bekerja tetapi ffmpeg dapat menyandikan ulang trek video yang ada dan operasi akan menggunakan lebih banyak CPU dan mungkin membutuhkan waktu lebih lama.sumber
Menggunakan avidemux di command-line.
(Dalam GUI Avidemux, sebagaimana dijelaskan dalam https://unix.stackexchange.com/a/85834/4319 di atas, Anda cukup memilih / membatalkan pilihan trek audio, dan menyimpan file. (Semuanya disalin ke AVI baru.))
Saya telah melihat proyek seperti apa yang disimpan sebagai projek SpiderMonkey atau TinyPy untuk tindakan saya, dan ternyata proyek SpiderMonkey (JavaScript) tidak memiliki tindakan pemilihan trek audio yang saya butuhkan, tetapi proyek TinyPy (Python) memang memiliki mereka.
Saya menghapus semua yang tidak berhubungan (selusin baris yang tidak dibutuhkan), dan inilah yang saya dapatkan di
some_series.py
:Ia meninggalkan track 1, tetapi menjatuhkan track 0.
Lalu saya menjalankan konversi batch banyak file dengan perintah seperti ini:
Ini menyalin segalanya, tetapi menghapus semua kecuali track audio yang dibutuhkan.
Cara menjalankan avidemux dari command-line dipelajari oleh saya dari https://www.avidemux.org/admWiki/doku.php?id=tutorial:batch_processing , meskipun mereka tidak menyebutkan skrip Python, hanya skrip JS (hanya yang JS) ( yang tidak berhasil untuk saya).
sumber
Jika Anda tidak keberatan programnya adalah GUI, dengan editor video Blender Anda dapat melakukan itu dan banyak lagi.
sumber
The
ffmpeg
program telah digantikan olehavconv
.avconv
memiliki penggunaan yang sangat miripffmpeg
, sehingga semua perintah dalam posting ini dapat berupa:Ikuti tautan ini untuk menginstal
avconv
jika Anda menggunakan Ubuntu.sumber
FFMPEG mungkin merupakan solusi yang bermanfaat untuk Anda.
sumber