আমি কীভাবে ffmpeg শান্ত / কম ভার্বোস হতে পারি?


116

ডিফল্টরূপে ffmpeg স্টাডারের কাছে একটি সম্পূর্ণ লোটার বার্তা প্রেরণ করে: যখন তৈরি হয়, কিভাবে নির্মিত হয়, কোডেক, ইত্যাদি ইত্যাদি etc.

আমি কীভাবে এটিকে আরও শান্ত করব?

আমি চেষ্টা করেছি -v 0(এবং -v 10যেহেতু ডকুমেন্টেশন Set the logging verbosity level.ইনপুটগুলির পরিসীমা কী তা সম্পর্কে কোনও ইঙ্গিত সহ কেবল কোলাই বলেছে ) - এখনও নিরব নয়।

আমি চেষ্টা করেছি -loglevel quiet- এখনও চুপ করে নেই।

আমার উল্লেখ করা উচিত, আমি "শান্ত," কখনও "কোনও আউটপুট" খুঁজছি না। যদি কোনও ত্রুটি থাকে তবে আমি এটি দেখতে চাই, তবে প্রতিবার ffmpeg এর কনফিগারেশন সম্পর্কে আমার শুনতে হবে না। একক। সময়।


14
বিকাশকারীদের ধরণের প্রোগ্রাম দ্বারা, বিকাশকারীদের জন্য অবশ্যই ffmpeg হ'ল।
ডিজিটালপ্প

1
ব্যবহার -loglevel quiet -stats
ফ্রেডবেন্ড

বিকল্পভাবে -loglevel error -statsত্রুটিগুলি দেখাবে "যা থেকে উদ্ধার করা যেতে পারে সেগুলি সহ" এবং ব্যবহার -statsকরে এনকোডিং অগ্রগতি এবং পরিসংখ্যান লাইনের মুদ্রণ নিশ্চিত করে। পরিবর্তন -loglevelথেকে errorথেকে warningসামান্য বেশি বাগাড়ম্বরপূর্ণ কিন্তু আরামে এক টার্মিনাল পৃষ্ঠাতে আছে।
ম্যাটসেট

উত্তর:


65

ffmpeg -hide_banner -loglevel panic

এটি বর্তমান উত্তরের নীচে একটি মন্তব্যে ইঙ্গিত দেওয়া হয়।

বিকল্পটি -hide_banner2013 সালের শেষের দিকে প্রবর্তিত হয়েছিল - https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013- ডিসেম্বর / 152349.html )


7
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত
NineCattoRules

4
সেরা উত্তর, তবে বিকল্প-শো-ব্যানারটি এটি আড়াল করার চেয়ে ভাল হবে
হেটেপ্পিফ্যান

1
সম্ভবত যোগ -nostatsকরতে পারেন?
মিক্কো রেন্টালাইনেন

117

আমি এটি পরীক্ষা করে দেখিনি, তবে ম্যান পৃষ্ঠাতে আমি একটি বিকল্প দেখতে পাচ্ছি:

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

তাত্ত্বিকভাবে এটিকে কেবল গুরুতর ত্রুটিগুলি লগ করা উচিত


5
এমনকি -loglevel panic, আমার জন্য এটি কেবল আউটপুটকে কিছুটা হ্রাস করে - এটি এখনও সংস্করণ তথ্য, স্ট্রিম ম্যাপিং, কনফিগারেশন বিকল্পগুলি (এবং এমনকি অগ্রগতির তথ্যও প্রিন্ট করে) .... কোনও ধারণা? আমার উল্লেখ করতে পারে এটি সর্বশেষ এসএনএন ট্রাঙ্কের একটি স্ব-সংকলিত সংস্করণ।
কোডিলিং

7
এটি বিট বালতিতে পাইপ করুন: </ dev / null 2> & 1
রোজারডপ্যাক

2
@rogerdpack যা বেশিরভাগ প্রোগ্রামের জন্য কাজ করে, তবে ffmpeg তার সমস্ত পাঠ্য আউটপুট stdout এর পরিবর্তে স্টাড্র্টে রাখে (এটি এটি করে যাতে আপনি এনকোডার আউটপুটটিকে অন্য প্রোগ্রামগুলিতে পাইপ করতে পারেন), সুতরাং stdout কে / dev / null willn এ পুনঃনির্দেশিত করা হবে ' টি দরকারী কিছু করবেন না।
অশুভ

20
-hide_bannerহ্রাসযোগ্য ভার্বোসিটি স্তর ছাড়াও ব্যবহার করা ভাল সমঝোতা হবে।
মাকাভেলি 84

5
যা কিছু বলা হয়েছে তা ছাড়াও, -নোস্ট্যাটস অগ্রগতি আউটপুটকে অক্ষম করবে।
Ely

56

এখানে আপনার সোর্স কোড (এফএফপিপিগ সংস্করণ 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   },
    };

5
যদিও সময়ের সাথে সাথে ইউআরএলগুলি পরিবর্তন হতে থাকে তবে সেগুলি আপনার উত্তরের উত্স হিসাবে অন্তর্ভুক্ত করা ভাল। উদাহরণস্বরূপ, বর্তমানে এটি ffmpeg.org/ffmpeg.html#toc- জেনেরিক- বিভাগে নথিভুক্ত করা হয়েছে এবং পাঠকরা জানবেন যে এই URL টি পরিবর্তিত হলেও ডক্সে কোথায় সন্ধান করতে হবে।
Fr0zenFyr

19

আমি নিম্নলিখিতটি সাফল্যের সাথে ব্যবহার করেছি (লেখার সময় সর্বাধিক নতুন FFMPEG সংস্করণ):

-nostats -loglevel 0

তারপরে এটি আমার ব্যবহারের দৃশ্যে একেবারে শান্ত।


ffmpeg 3.2 এ সমাধানটি দিয়ে সন্তুষ্ট
বার্নহার্ড ডাবলার

-nostatsআমি কি খুঁজছিলাম ছিল। এটি অগ্রগতি আউটপুট দমন করবে (উদাহরণস্বরূপ, টার্মিনাল-বহির্ভুত প্রেক্ষাপটে কার্যকর)।
জক্স

দুঃখজনকভাবে -nostatsব্যানারটিও আড়াল করে। ffmpeg এর একটি -show_bannerবিকল্প প্রয়োজন;)
মিলিগামুট

18
ffmpeg -loglevel error [other commands]

এটি ব্যানারটি আড়াল করে এবং কেবল ত্রুটি প্রদর্শন করে। -loglevel warningআপনি যদি সতর্কতা দেখতে চান তবে ব্যবহার করুন ।

এফফেম্পেগ 3.0.0.2 এ পরীক্ষিত।

ডকুমেন্টেশন থেকে :

-লগলেভেল [পুনরাবৃত্তি +] লগলেভেল | -v [পুনরাবৃত্তি +] লগলেভেল

লাইব্রেরি দ্বারা ব্যবহৃত লগিং স্তর সেট করুন। "পুনরাবৃত্তি +" যোগ করা ইঙ্গিত দেয় যে পুনরাবৃত্ত লগ আউটপুট প্রথম লাইনে সংকুচিত করা উচিত নয় এবং "শেষ বার্তা পুনরাবৃত্তি এন টাইম" লাইন বাদ যাবে। "পুনরাবৃত্তি" এছাড়াও একা ব্যবহার করা যেতে পারে। যদি "পুনরাবৃত্তি" একা ব্যবহৃত হয় এবং কোনও পূর্ব লগলেভেল সেট না থাকলে ডিফল্ট লগলিভেল ব্যবহার করা হবে। যদি একাধিক লগলেভেল পরামিতি দেওয়া হয়, তবে 'পুনরাবৃত্তি' ব্যবহার করে লগলেভেল পরিবর্তন হবে না। লগলেভেল একটি স্ট্রিং বা নিম্নলিখিত সংখ্যাগুলির মধ্যে একটি সহ একটি নম্বর:

'শান্ত, -8'

কিছুই দেখায় না; চুপ থাকো.

'আতঙ্ক, 0'

কেবল মারাত্মক ত্রুটিগুলি দেখান যা প্রক্রিয়াটিকে ক্রাশে নিয়ে যেতে পারে, যেমন ব্যর্থতার প্রতিশ্রুতি দেয়। এটি বর্তমানে কোনও কিছুর জন্য ব্যবহৃত হয় না।

'মারাত্মক, 8'

কেবল মারাত্মক ত্রুটিগুলি দেখান। এগুলি ত্রুটি যার পরে প্রক্রিয়াটি পুরোপুরি চলতে পারে না।

'ত্রুটি, 16'

যা থেকে উদ্ধার করা যেতে পারে সেগুলি সহ সমস্ত ত্রুটিগুলি দেখান।

'সতর্কতা, 24'

সমস্ত সতর্কতা এবং ত্রুটিগুলি দেখান। সম্ভবত ভুল বা অপ্রত্যাশিত ইভেন্ট সম্পর্কিত কোনও বার্তা প্রদর্শিত হবে।

'তথ্য, 32'

প্রক্রিয়াজাতকরণের সময় তথ্যমূলক বার্তা প্রদর্শন করুন Show এটি সতর্কতা এবং ত্রুটিগুলি ছাড়াও। এটি ডিফল্ট মান।

'ভার্বোজ, 40'

infoআরও ভার্বোস বাদে একই রকম ।

'ডিবাগ, 48'

ডিবাগিং তথ্য সহ সবকিছু দেখান।

'ট্রেস, 56'

ডিফল্টরূপে প্রোগ্রামটি স্ট্ডারে লগ হয়, যদি রঙিনটি টার্মিনাল দ্বারা সমর্থিত হয়, ত্রুটি এবং সতর্কতা চিহ্নিত করতে রঙগুলি ব্যবহৃত হয়। লগ কালারিং পরিবেশের পরিবর্তনশীল সেট করতে অক্ষম করা যেতে পারে AV_LOG_FORCE_NOCOLORবা NO_COLOR, পরিবেশের পরিবর্তনশীল সেট করতে বাধ্য করা যেতে পারে AV_LOG_FORCE_COLOR। এনভায়রনমেন্ট ভেরিয়েবলের ব্যবহার NO_COLORঅবহেলা করা হয়েছে এবং নিম্নলিখিত FFmpeg সংস্করণে বাদ দেওয়া হবে।


5

নিম্নলিখিতগুলি ম্যাকোজে আমার জন্য কাজ করেছে:

ffmpeg -v quiet

বা কেবল অগ্রগতি দেখতে:

ffmpeg -v quiet -stats

আমি ঠিক এটিই খুঁজছিলাম। আমি একটি স্ক্রিপ্টে ffmpeg ব্যবহার করছি এবং এটি কাজ করছে তা দেখতে প্রয়োজন, তবে ইনপুট এবং আউটপুট স্ট্রিম ইত্যাদি সম্পর্কে সমস্ত তথ্যের প্রয়োজন নেই
স্টিপ

3

আপনি গ্রেপ মাধ্যমে stderr পাইপ করতে পারেন। উদাহরণস্বরূপ, আপনি যদি কনফিগারেশন তথ্যটি সরাতে চান, আপনি এটি এটি করতে পারেন:

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

আমি বিশ্বাস করি যে এটি হতে পারে ffmpeg … 2>&1 >/dev/null | grep …
স্কট

0

এটি সম্পর্কে কিছুটা সস্তা, তবে এফেন্ডপেইগকে >/dev/null 2>&1শেলের মধ্যে নীরব রাখার একটি নিশ্চিত উপায় app

উদাহরণ

ffmpeg -f x11grab -y -r 24 -s 800x600 -i :0.0+1366,100 -f oss -i /dev/dsp3 -sameq ./out.avi >/dev/null 2>&1

বাশ আউটপুট সম্পর্কে আরও তথ্য


14
Ffmpeg ব্যতীত আপনার এক ধাপ এগিয়ে এবং কনফিগারেশন তথ্য এবং স্টাডারের আসল ত্রুটি উভয়ই আউটপুট করে ।
বেলাহাদিবল্লাহ

0

ffmpeg -loglevel error -hide_banner -nostats

শুধু ত্রুটি, কিছুই না।

আমি ব্যক্তিগতভাবে এটি সেরা পছন্দ;

ffmpeg -loglevel warning -hide_banner -stats

এটি কেবল সতর্কতা এবং ত্রুটি দেয় তবে কাজের অগ্রগতিও দেখায়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.