Ffmpeg- থ্রেডস সেটিংস কীভাবে পরিবর্তন করবেন change


15

একটি নল সাইটে কাজ করা। আমি মাধ্যমে ভিডিও চলছি ffmpeg একটি উপর লিনাক্স ডেডিকেটেড সার্ভার রূপান্তর MP4

সার্ভারের চশমা:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Stepping:              3
CPU MHz:               3491.749
BogoMIPS:              6983.49
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0-7

পরীক্ষার সময় ইস্যুটি হ'ল এমনকি একবারে 4-5 করার পরেও সার্ভারটি গড়ে প্রায় 36 টিতে স্ক্রোককেট লোড করে This এটি কেবলমাত্র একক ব্যক্তি। আমি কল্পনা করি এটি যখন খুলবে, বহু লোক একবারে আপলোড করবে।

দেখে মনে হচ্ছে ffmpeg রূপান্তর অনুসারে উপলভ্য সমস্ত সংস্থান ব্যবহার করার চেষ্টা করে।

শুনেছি একটি থ্রেডস সেটিং রয়েছে যা আপনি পরিবর্তন করতে পারবেন তবে আমি এটি খুঁজে পাচ্ছি না। আমার একটি 8 সিপিইউ সার্ভার রয়েছে। এটি কেবল রূপান্তরকরণের জন্যই ব্যবহৃত হয়েছে, তাই আমি শুনেছি সেরা সেটিংস 2 থেকে 4 এর মধ্যে হবে I আমি এটি পরীক্ষা করে দেখতে পারি।

তবে আমি কীভাবে এই সেটিংটি পরিবর্তন করব? আমি অনলাইনে যা কিছু দেখি তা এই সেটিংটি নিয়ে আলোচনা করে তবে এটি পরিবর্তনের পদক্ষেপ নয়।

linux  ffmpeg  cpu  mp4 

উত্তর:


17

আপনি যে বিকল্প ফ্ল্যাগটি চান সেটি সত্যই সঠিক -threadsএবং আপনি এটি (কেবলমাত্র একটি থ্রেডের জন্য) এটি ব্যবহার করবেন:

ffmpeg -i somefile.wmv -c:a libfdk_aac -c:v libx264  -threads 1 transcoded.mp4

যাইহোক, বেশ কয়েকটি সূক্ষ্মতা রয়েছে যা আপনার সার্ভারের লোড বাড়িয়ে তুলবে এবং অপসারণের সময় যেমন পুনরুদ্ধার, ফিল্টার প্রয়োগ এবং চূড়ান্ত ফ্রেমের মান / ফ্রেম রেট - কিছু ভিএম আর্কিটেকচার আসলে দু'বার পড়বে এবং লিখবে (একবার স্থানীয়ভাবে এবং একবার কার্যত !!!)

আপনার গতি বাড়ানোর জন্য কয়েকটি টিপস এখানে রইল:

  1. একটি সারি ব্যবহার করুন, যাতে একবারে কেবলমাত্র একটি আইটেম ট্রান্সকোড হয়
  2. আপনার ব্যবহারকারীদের থেকে ছোট ফাইল অনুরোধ
  3. আপনার মেশিনের সম্পূর্ণ অশ্বশক্তি এর দ্বারা ব্যবহার করুন:
    • একটি ramdisk থেকে পড়া এবং লেখা
    • ট্রান্সকোডিং কাজের জন্য খালি ধাতুতে স্যুইচ করা
    • ব্যবহার -threads 0

আপনি যাই করুন না কেন, আপনার ব্যবহারকারীদের ট্রান্সকোডিং প্রক্রিয়া সম্পর্কে অবহিত করুন, কারণ এতে সময় লাগে মাত্র। (IJTT)

[লর্ডনেকবার্ডের মন্তব্য প্রতিফলিত করার জন্য কমান্ড সম্পাদিত]


10
বিকল্প প্লেসমেন্ট বিষয়। সঙ্গে -threadsইনপুট আগে আপনি এই অপশনটি ইনপুট (ডিকোডার) আবেদন করেন। একটি সাধারণ ব্যবহার হয় ffmpeg [global options] [input options] -i input [output options] output
লগইন

তাহলে আপনি এটি স্থাপন করার পরামর্শ কোথায় দেবেন? আমি ভেবেছিলাম শুরুতেই এটি বিশ্বব্যাপী প্রয়োগ হচ্ছে?
ডানজেলো 5'14

3
আউটপুট বিকল্প হিসাবে এটি একটি এনকোডিং বিকল্প হয়ে ওঠে। কোন বিকল্পগুলি চিহ্নিত করা হয়েছে তা দেখতে এফএফপিপিগ ডকুমেন্টেশন দেখুন (global)
5:44

আপনি যদি -threadsআর্গের আগে বা পরে -iআরগটি রাখেন তা কি ব্যাপার ? এছাড়াও, আমার কতগুলি থ্রেড ব্যবহার করা উচিত তা আমি কীভাবে নির্ধারণ করব? আমি মূলত কেবল করছি-c copy
চবি

3

এটি সামান্য পুরানো হতে পারে তবে ডকারের মতো ধারকটির জন্য এটি একটি নিখুঁত কাজ বলে মনে হচ্ছে।

  • Ffmpeg চালানো যাক full horsepower(যেমন ডানজেলো বলে)
  • তবে এটি ডকারের ভিতরে চলুক

এখন আপনি ffmpeg কমান্ডলাইন বিকল্পগুলি ব্যবহার না করে একটি একক ffmpeg উদাহরণটি কতটা সংস্থান গ্রহণ করতে পারে তা সীমাবদ্ধ করতে পারেন। এবং কেবল সিপিইউ নয় মেমরি এবং আইওগুলিও।

আরও বেশি: হতে পারে আপনার বিভিন্ন কাজ রয়েছে যা পটভূমিতে চলতে পারে এবং তারা কতক্ষণ সময় নেয় সেদিকে খেয়াল রাখেন না এবং আপনার এমন কাজগুলি রয়েছে যা দ্রুত চালানো উচিত, যাতে আপনি বিভিন্ন কার্যকে ভারী করে তুলতে পারেন।

Https://docs.docker.com/engine/references/run/#runtime-constraints-on-res উত্স দেখুন

গিথুব এ ইতিমধ্যে একটি পূর্বনির্ধারিত ffmpeg চিত্র আছে: https://github.com/jrottenberg/ffmpeg

docker run jrottenberg/ffmpeg \
        -i http://url/to/media.mp4 \
        -stats \
        $ffmpeg_options  - > out.mp4

ওভারহেডের কারণে একটি একক রূপান্তর সম্ভবত ধীর হয়ে যাবে তবে আপনি যদি এক সাথে মিটলিপল উদাহরণগুলি চালান তবে এটি একটি বিশাল সুবিধা হতে পারে। যে কোনও এটি খুব ভালভাবে স্কেল করবে, উন্নত সুরক্ষার কথা উল্লেখ না করা কারণ প্রতিটি কার্য অন্তর্নিহিত ওএস থেকে বিচ্ছিন্ন।


ডকারের ভিতরে চালানো কি একটু চরম নয়? আক্ষরিক অর্থে আরও অনেক উপায় আছে লিনাক্স স্কাউটএম
ব্লগ

কেন? আপনি ইতিমধ্যে ডকার ইনস্টল করেছেন তা বিবেচনা করুন, --rmকোনও কার্য সম্পাদনের জন্য পতাকা সহ একটি ধারক চালানো এবং প্রস্থানের পরে ধারকটি সরিয়ে ফেলা একটি সম্পূর্ণ সাধারণ বিষয় যা অ্যাডমিনরা 2019 সালে করতে পারে এবং করা উচিত Especially বিশেষত ডকুমেন্ট রূপান্তরকরণের মতো জিনিসগুলির জন্য। রূপান্তর ব্যর্থ হয়? আপনার স্থানীয় সরঞ্জামচেনকে আপগ্রেড / ডাউনগ্রেড না করে অন্য রূপান্তরকারী সংস্করণটি ব্যবহার করে দেখুন? আপনি দস্তাবেজটি বিশ্বাস করেন না কারণ এটি ইন্টারনেট থেকে ডাউনলোড করা হয়েছে? একটি পাত্রে টাস্কটি বিচ্ছিন্ন করুন। Ffmpeg ব্যতিক্রম নয়। cvedetails.com/vulnerability-list/vendor_id-3611/Ffmpeg.html
জর্জেন স্টেইনব্লক

যে বিপণন আলাপ মত শোনাচ্ছে। ডক-শ্রমিক নিখুঁত নয় আপনার মত এটা করা -> techbeacon.com/security/... লিনাক্স-এ একজন সাধারণ ব্যবহারকারী এছাড়াও সীমিত অ্যাক্সেস এবং সিস্টেমের নিরাপত্তা উপভোগ করে। প্রোগ্রাম সংস্করণ ডাউনগ্রেডগুলির প্রয়োজন খুব বিরল এবং সংগ্রহস্থলের মাধ্যমে করা যেতে পারে। অনেক ডকার চিত্র এলোমেলো লোক দ্বারা তৈরি করা হয়। সম্ভবত ডকুমেন্ট রূপান্তরকারী ডকার চিত্রের সাথে আপস করা হয়েছিল এবং আপনার সমস্ত নথির অনুলিপি রিমোট সার্ভারে প্রেরণ করা হয়েছিল। সুতরাং, ডকার ইমেজ ব্যবহার করা যেমন দুর্বলতার সম্ভাবনা বাড়িয়ে তোলে। তখন কি?
yurtesen

Perhaps the document converter docker image was compromised and sent copy of all your documents to a remote server. So, using docker images increase possibility such vulnerability. What then?রেপো চেকআউট করুন, ডকফর্মিল তদন্ত করুন এবং docker build -t myimageনিজেই স্থানীয় চিত্র তৈরি করতে ব্যবহার করুন। বা আপনার নিজের ডকফাইল তৈরি করুন, এটি রকেট বিজ্ঞান নয় github.com/alfg/docker-ffmpeg/blob/master/Dockphaile
জর্জেন স্টেইনব্লক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.