Anda telah menentukan bahwa Anda tertarik untuk mengerjakan sejumlah besar video, jika Anda memiliki mesin multicore dan Anda akan menggunakan for
loop normal yang disediakan oleh shell Anda, Anda akan memiliki salah satu core Anda menjadi panas, sementara yang lain tidak melakukan apa-apa . Ini tidak ideal.
Apa yang harus Anda lakukan untuk pekerjaan seperti itu adalah menggunakan parallel
, alat yang memungkinkan Anda untuk memulai beberapa pekerjaan sekaligus, dan itu bisa melakukan segala sesuatu yang bisa dilakukan oleh for-loop, tetapi lebih baik.
Saya tidak akan menulis tentang semua fitur alat ini, tetapi akan berkonsentrasi pada tugas spesifik Anda.
Salah satu cara untuk memulai semua pekerjaan ini adalah:
parallel avconv -i "{}" -vf transpose=2 "{.}[rotated].mp4" ::: *.mp4
Di sini {}
menggantikan setiap nama file, dan {.}
mengganti nama file tanpa ekstensi.
Saya akan menyarankan agar Anda memulai pekerjaan sebanyak yang Anda miliki, ambil satu. Alasannya adalah agar sistem operasi Anda akan tetap dapat digunakan, dan juga ini akan menyelamatkan Anda jika Anda menggunakan enkripsi harddisk (yang akan menggunakan daya pemrosesan untuk membaca / menulis data). Untuk melakukan ini cukup tambahkan --jobs -1
ke baris perintah Anda, dan Anda akan membatasi jumlah pekerjaan.
parallel --jobs -1 avconv -i "{}" -vf transpose=2 "{.}[rotated].mp4" ::: *.mp4
Harap diingat bahwa tidak ada output yang akan diberikan sampai setiap encoding selesai. Jadi Anda tidak akan melihat seberapa banyak dari setiap video Anda dilakukan.