Secara default ffmpeg mengirimkan seluruh pesan lotta ke stderr: ketika dibangun, bagaimana dibangun, codec, dll, dll, dll.
Bagaimana saya bisa membuatnya lebih tenang?
Saya sudah mencoba -v 0
(dan -v 10
karena dokumentasi hanya dengan malu-malu mengatakan Set the logging verbosity level.
tanpa indikasi apa kisaran input) - masih tidak sepi.
Saya sudah mencoba -loglevel quiet
- masih belum tenang.
Saya harus menyebutkan, saya mencari "lebih tenang," bukan "tidak pernah keluaran". Jika ada kesalahan saya ingin melihatnya, tetapi saya tidak perlu mendengar tentang konfigurasi ffmpeg setiap. tunggal. waktu.
-loglevel quiet -stats
.-loglevel error -stats
akan menampilkan kesalahan "termasuk yang dapat dipulihkan dari" dan menggunakan-stats
memastikan pencetakan kemajuan pengkodean dan statistik. Mengubah-loglevel
darierror
menjadiwarning
sedikit lebih bertele-tele tetapi pas nyaman pada satu halaman terminal.Jawaban:
ffmpeg -hide_banner -loglevel panic
Ini disinggung dalam komentar di bawah jawaban saat ini.
Opsi
-hide_banner
ini diperkenalkan pada akhir 2013 - https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html )sumber
-nostats
juga?Saya belum mengujinya, tetapi saya melihat opsi di halaman manual untuk melakukan:
Seharusnya membuatnya jadi hanya kesalahan serius yang dicatat, secara teori
sumber
-loglevel panic
, bagi saya itu hanya mengurangi sedikit output - masih mencetak informasi versi, pemetaan aliran, opsi konfigurasi, (dan bahkan kemajuan informasi!) .... ada ide? Saya mungkin harus menyebutkan bahwa ini adalah versi yang dikompilasi sendiri dari svn trunk terbaru.-hide_banner
selain mengurangi tingkat verbositas akan menjadi kompromi yang baik.Di sini Anda memiliki loglevels dari kode sumber (FFmpeg versi 0.10.2.git)
sumber
Saya telah menggunakan dengan sukses hal berikut (Versi FFMPEG terbaru saat penulisan):
Maka itu benar-benar tenang dalam skenario penggunaan saya.
sumber
-nostats
adalah apa yang saya cari. Ini akan menekan output progres (mis. Berguna dalam konteks non-terminal).-nostats
menyembunyikan spanduk juga. ffmpeg membutuhkan-show_banner
opsi;)Ini menyembunyikan spanduk dan hanya menampilkan kesalahan. Gunakan
-loglevel warning
jika Anda ingin melihat peringatan.Diuji dalam Ffmpeg 3.0.2.
Dari dokumentasi :
sumber
Berikut ini berfungsi untuk saya di macOS:
atau hanya untuk melihat perkembangannya:
sumber
Anda dapat menyalurkan stderr melalui grep. Misalnya, jika Anda ingin menghapus informasi konfigurasi, Anda dapat melakukannya seperti ini:
sumber
ffmpeg … 2>&1 >/dev/null | grep …
.Ini sedikit murah untuk melakukannya, tetapi menambahkan
>/dev/null 2>&1
adalah cara yang pasti untuk menjaga ffmpeg diam di shell.Contoh
Info lebih lanjut tentang output bash
sumber
ffmpeg -loglevel error -hide_banner -nostats
Hanya kesalahannya, tidak ada yang lain.
Saya pribadi suka yang terbaik ini;
ffmpeg -loglevel warning -hide_banner -stats
Ini hanya memberikan peringatan dan kesalahan, tetapi juga menunjukkan kemajuan pekerjaan.
sumber