Cara tercepat untuk mengkonversi video (batch atau tunggal)?

26

Saya tahu ada banyak pertanyaan tentang pembuat enkode video di sini, tetapi pertanyaan saya lebih tentang alur kerja / efisiensi.

Untuk pekerjaan harian saya, saya perlu mengonversi video, sering, dari banyak format acak (biasanya AVI besar , M4V , dan yang tidak) dan mengonversinya dan mengompresnya menjadi file yang efisien yang dapat kita gunakan di internet untuk mengunggah. Format yang harus saya hasilkan adalah:

Saya perlu membuat template umum untuk beberapa kasus penggunaan (dikonversi ke sumber yang sama, 1080p , atau 720p ) dan dapat memprosesnya dengan cepat, dan kemudian mengantri.

Ada ide tentang cara terbaik untuk menjalankan proses ini di Ubuntu?

Garrett
sumber
Saya tahu ada Avanti di Windows, dan saya pikir yang terdekat dengan Linux adalah baris perintah avconv atau frontend seperti WinFF atau ConvertMe ... mungkin sebagai upaya terakhir Anda bisa mencoba Avanti di Wine.
Richard

Jawaban:

52

Jika Anda lebih suka baris perintah, Anda dapat menggunakan ffmpeg(atau handbrake-cli).

MP4

Dengan asumsi Anda menggunakan versi terbaru dari ffmpeg:

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
  • -crf: Kualitas. Rentang adalah logaritmik 0 (lossless) hingga 51 (kualitas terburuk). Standarnya adalah 23. Kisaran waras subjektif adalah ~ 18-28 atau lebih. Gunakan nilai tertinggi yang masih memberi Anda kualitas yang dapat diterima. Jika Anda menyandikan ulang input besar yang tidak praktis untuk diunggah ke YouTube atau sejenisnya maka cobalah nilai 17 atau 18 karena layanan video ini akan menyandikan ulang pula.

  • -preset: Kecepatan encoding. Prasetel yang lebih lambat memberikan kompresi yang lebih baik (kualitas per ukuran file) tetapi lebih lambat. Gunakan yang paling lambat yang Anda sabar untuk: ultrafast, superfast, veryfast, lebih cepat, cepat, sedang (default), lambat, lebih lambat, sangat lambat.

  • -movflags +faststart: Mengizinkan video diputar sebelum benar-benar diunduh dalam kasus menonton unduhan progresif. Berguna jika Anda meng-hosting video, jika tidak berlebihan mengunggah ke layanan video seperti YouTube.

  • -vf scale=-2:720,format=yuv420p: Sebuah filtergraph menggunakan skala dan format filter video. Skala tinggi hingga 720 piksel, dan secara otomatis pilih lebar yang akan mempertahankan aspek, dan kemudian pastikan format piksel kompatibel dengan pemain bodoh.

  • -b:a 128k: Audio bitrate. Jika Anda ffmpegsudah usang maka Anda harus menambahkan -strict experimentaluntuk menggunakan -c:a aac.

MOV

Karena file MOV dan MP4 Anda mungkin berisi format video dan audio yang sama, Anda dapat menyandikan MP4 dan membuat MOV dengan muxing kembali (dengan mode stream stream ) alih-alih menyandikan ulang:

ffmpeg -i input.mp4 -codec copy output.mov

WMV

FFmpeg hanya mendukung WMV 7 dan 8. Saya tidak mengetahui encoder open source untuk versi 9.

$ ffmpeg -encoders | grep -i windows
[...]
 V..... = Video
 A..... = Audio
 ------
 V..... wmv1                 Windows Media Video 7
 V..... wmv2                 Windows Media Video 8
 A..... wmav1                Windows Media Audio 1
 A..... wmav2                Windows Media Audio 2

Karena saya tidak terbiasa dengan pembuat enkode ini, saya hanya bisa memberikan contoh yang belum diuji:

ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv

Mendapatkan ffmpeg

Anda dapat mengunduh build Linux dari ffmpeg atau mengikuti panduan kompilasi ffmpeg langkah demi langkah untuk menyesuaikan build Anda.

Menggunakan bash "for loop" untuk melakukan enkode batch

Untuk menyandikan semua video dalam direktori:

$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
  -c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
  "encoded/${f%.avi}.mp4"; done

Lihat juga

llogan
sumber
5

Coba HandBrake .

HandBrake adalah alat untuk mengkonversi video dari hampir semua format ke pilihan codec modern yang didukung luas. Untuk menginstal, cukup tekan Ctrl+ Alt+ Tdi keyboard Anda untuk membuka Terminal. Saat terbuka, jalankan perintah di bawah ini:

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake
Mitch
sumber