سؤال كيف يمكنني جعل ffmpeg أن يكون أكثر هدوءا / أقل مطولاً؟


بشكل افتراضي ، ترسل ffmpeg رسائل lotta كاملة إلى stderr: عند الإنشاء ، وكم بنيت ، وبرامج الترميز ، إلخ ، إلخ ، إلخ.

كيف يمكنني جعله أكثر هدوءا؟

لقد حاولت -v 0 (و -v 10 منذ الوثائق يقول فقط coyly Set the logging verbosity level. مع عدم وجود مؤشر على مدى مجموعة من المدخلات) - لا تزال غير هادئة.

لقد حاولت -loglevel quiet - لا تزال غير هادئة.

يجب أن أذكر ، أنا أبحث عن "أكثر هدوءا" ، وليس "أي إخراج على الإطلاق". إذا كان هناك خطأ أريد رؤيته ، لكنني لست بحاجة إلى سماع كل شيء حول تكوين ffmpeg. غير مرتبطة. زمن.


84
2017-08-22 21:59


الأصل


إن ffmpeg هي بالتأكيد واحدة من تلك "للمطورين ، من خلال أنواع برامج المطورين. - digitxp


الأجوبة:


لم أختبره ، ولكن أرى خيارًا في صفحة "الرجل":

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

يجب أن تجعل ذلك يتم تسجيل الأخطاء الخطيرة فقط ، من الناحية النظرية


82
2018-01-12 00:59



حتى مع -loglevel panicبالنسبة لي ، فإن الأمر لا يؤدي إلا إلى تقليل الإنتاج قليلاً - فهو لا يزال يطبع معلومات الإصدار ، وتخطيط البث ، وخيارات التكوين ، (وحتى معلومات التقدم!) .... أي أفكار؟ ربما أضطر إلى الإشارة إلى أنها نسخة مجمعة ذاتيًا من أحدث ملف svn. - codeling
توجيهه إلى دلو البت:> / dev / null 2> & 1 - rogerdpack
rogerdpack التي من شأنها أن تعمل لمعظم البرامج ، ولكن ffmpeg يضع كل إخراج النص الخاص به إلى stderr ، بدلاً من stdout (يفعل ذلك بحيث يمكنك توجيه إخراج برنامج التشفير إلى برامج أخرى) ، لذلك إعادة توجيه stdout إلى / dev / null wouldn ' ر القيام بأي شيء مفيد. - evilsoup
عن طريق -hide_banner بالإضافة إلى مستوى توسط منخفض سيكون حل وسط جيد. - Makaveli84
بالإضافة إلى كل ما قيل ، -nostats سيتم تعطيل إنتاج التقدم. - Ely


هنا لديك loglevels من شفرة المصدر (FFmpeg الإصدار 0.10.2.git)

const struct { const char *name; int level; } log_levels[] = {
        { "quiet"  , AV_LOG_QUIET   },
        { "panic"  , AV_LOG_PANIC   },
        { "fatal"  , AV_LOG_FATAL   },
        { "error"  , AV_LOG_ERROR   },
        { "warning", AV_LOG_WARNING },
        { "info"   , AV_LOG_INFO    },
        { "verbose", AV_LOG_VERBOSE },
        { "debug"  , AV_LOG_DEBUG   },
    };

47
2018-06-18 11:54



على الرغم من أن عناوين URL تميل إلى التغيير بمرور الوقت ، فمن الجيد تضمينها أيضًا كمصدر لإجابتك. على سبيل المثال ، في الوقت الحاضر يتم توثيق هذا في ffmpeg.org/ffmpeg.html#toc-Generic-options وسيعرف القارئ مكان ظهور المستندات حتى إذا تغير عنوان URL هذا. - Fr0zenFyr


ffmpeg -hide_banner -loglevel panic

تم الإشارة إلى ذلك في تعليق أسفل الإجابة الحالية.

الخيار -hide_banner تم تقديمه في أواخر عام 2013 - https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html )


37
2018-02-24 19:37



هذا يجب أن يكون الجواب المقبول - NineCattoRules
أفضل إجابة ، ومع ذلك فإن خيار-إعلان-راية سيكون أجمل من إخفاءه - hetepeperfan
ربما تضيف -nostats، جدا؟ - Mikko Rantalainen


لقد استخدمت بنجاح التالي (أحدث إصدار FFMPEG في وقت كتابة هذا التقرير):

-nostats -loglevel 0

ثم أنها هادئة تماما في سيناريو الاستخدام الخاص بي.


14
2017-08-12 06:41



راض عن هذا الحل في ffmpeg 3.2 - Bernhard Döbler


ffmpeg -loglevel error [other commands]

هذا يخفي لافتة ويعرض الأخطاء فقط. استعمال -loglevel warning إذا كنت ترغب في رؤية التحذيرات.

اختبارها في Ffmpeg 3.0.2.

من كابل بيانات:

-loglevel [repeat +] loglevel | -v [repeat +] loglevel

قم بتعيين مستوى التسجيل الذي تستخدمه المكتبة. إضافة "تكرار +" تشير إلى   يجب عدم ضغط ناتج السجل المتكرر على السطر الأول   وسيتم حذف السطر "آخر رسالة تتكرر n". "كرر"   يمكن أيضا أن تستخدم وحدها. إذا تم استخدام "تكرار" بمفرده ، ودون سابقًا   مجموعة loglevel ، سيتم استخدام loglevel الافتراضي. إذا متعددة loglevel   يتم إعطاء المعلمات ، باستخدام "تكرار" لن يغير loglevel.   loglevel عبارة عن سلسلة أو رقم يحتوي على واحد من   القيم التالية:

"هادئ ، -8"

لا تظهر شيئًا على الإطلاق ؛ كن صامتا.

"الذعر ، 0"

إظهار الأخطاء الفادحة فقط والتي قد تؤدي إلى تعطل العملية ، مثل   وتأكيد الفشل. هذا لا يستخدم حاليا لأي شيء.

"قاتلة ، 8"

تظهر فقط الأخطاء القاتلة. هذه هي الأخطاء التي بعدها العملية   لا يمكن الاستمرار على الاطلاق بعد.

"الخطأ ، 16"

عرض جميع الأخطاء ، بما في ذلك الأخطاء التي يمكن استردادها منها.

"تحذير ، 24"

عرض جميع التحذيرات والأخطاء. أي رسالة تتعلق ربما   سيتم عرض الأحداث غير الصحيحة أو غير المتوقعة.

"المعلومات ، 32"

عرض رسائل إعلامية أثناء المعالجة. هذا بالإضافة إلى   التحذيرات والأخطاء. هذه هي القيمة الافتراضية.

"مطوّل ، 40"

مثل info، ما عدا أكثر مطولاً.

"تصحيح الأخطاء ، 48"

عرض كل شيء ، بما في ذلك معلومات التصحيح.

"التتبع ، 56"

بشكل افتراضي يقوم البرنامج بتسجيل الدخول إلى stderr ، إذا كان التلوين يدعمه   محطة ، وتستخدم الألوان للاحتفال أخطاء والتحذيرات. تلوين السجل   يمكن تعطيل متغير البيئة    AV_LOG_FORCE_NOCOLORأو NO_COLOR، أو يمكن فرض ضبط   متغيرات البيئة AV_LOG_FORCE_COLOR. استخدام البيئة   متغير NO_COLOR موقوف وسيتم إسقاطه في ما يلي   نسخة FFmpeg.


13
2017-07-09 17:25





يمكنك انابيب stderr من خلال grep. على سبيل المثال ، إذا كنت تريد إزالة معلومات التهيئة ، فيمكنك إجراء ذلك على النحو التالي:

% ffmpeg -i infile.avi -s 640x480 outfile.avi >/dev/null 2>&1 | grep -v configuration:

1
2018-04-17 14:00



أعتقد أن هذا قد يحتاج إلى أن يكون ffmpeg … 2>&1 >/dev/null | grep …. - Scott


عملت التالية بالنسبة لي على ماك:

ffmpeg -v quiet

أو لرؤية التقدم فقط:

ffmpeg -v quiet -stats

0
2017-10-04 16:04