আমি সমান্তরালভাবে চালাতে পারি এফএফপিপিগ কমান্ডের কতগুলি উদাহরণ?


18

আমি সিপিইউর পুরোপুরি ব্যবহার করতে এবং ভিডিও রূপান্তরগুলিকে গতি বাড়ানোর জন্য সমান্তরালভাবে 8 টি কমান্ড চালিয়ে ক্লান্ত করেছি, এরকম কিছু:

ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/a.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/b.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/c.mp4 > /dev/null 2>&1  &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/d.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/e.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/f.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60  -f mp4 /mnt/g.mp4 > /dev/null 2>&1 &
ffmpeg -i input.mp4 -t 60 -f mp4  /mnt/h.mp4 > /dev/null 2>&1 &

তাদের মধ্যে 2 থেকে 3 টি বন্ধ হয়ে যায়। কেন এমন হয়? এটি কি এফএফপিপেগ সীমাবদ্ধতা? আমি এটি 16 কোর এবং 4 কোর মেশিন, ইসি 2 সি 1.এক্সলেজ এবং সিসি 2.8 এক্স্লারেজে চেষ্টা করেছি। একই আচরণ। আমি জটিল কমান্ড এবং সাধারণগুলি চেষ্টা করেছি, এখনও একই, 2 বা 3 বন্ধ হয়ে যায়।


3
আমার জানা মতে এফএফম্পেগে নিজেই এমন কিছু হওয়া উচিত নয় যা আপনাকে এটি করা থেকে বিরত রাখে। শেল ইস্যু হতে পারে?
— slhck

যদি আমার প্রতিটি কমান্ডের জন্য আলাদা ইনপুট থাকে? আমি কীভাবে তাদের স্বাধীন করতে পারি, কারণ যদি কেউ থামে তবে তারা সমস্ত বন্ধ করে দেয়।
— স্যামসন

আপনি মাল্টি প্রসেসর ব্যবহারের জন্য কোনও প্যারামিটার খুঁজে পেয়েছেন ?!
— ডাঃ জ্যাকি

এখানে "থামুন" বলতে কী বোঝ? বাশ তাদের থামানো হিসাবে দেখায়?
— রজারডপ্যাক

উত্তর:


21

মূল প্রশ্নের উত্তরে, কেন কিছু কাজ বন্ধ হয়ে যায়, কমান্ড লাইনে ffmpeg ইন্টারেক্টিভ হয়। এটি ক্রমাগত কমান্ড লাইনে ইনপুট পড়ছে। আপনার সমস্তটি পটভূমিতে চালানোর জন্য আপনার এটি পরিবর্তন করা উচিত:

ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/a.mp4 > /dev/null 2>&1 &

এটি:

ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/a.mp4 </dev/null > /dev/null 2>&1 &

সংযোজন </dev/nullffmpeg ইনপুট না সন্ধান করতে এবং আপনার সমস্ত কাজ পটভূমিতে চালানো উচিত বলে।


1
এটি কী: 2> এবং 1
— ডক্টজ্যাকি

আপনাকে অনেক ধন্যবাদ! আমার খুব একই সমস্যা ছিল এবং এটি একটি কবজির মতো কাজ করেছে, দয়া করে গ্রহণ করুন!
— fr_andres মনিকাসেলিও

3
@ মিঃ হাইডে লেট আমার পরিচিত পার্টিতে লেট, তবে 2> & 1 ত্রুটি প্রবাহকে স্টাট স্ট্রিমের মতো একই জায়গায় যেতে বলে - তাই / দেব / নাল। এটা তোলে জন্য সাঁটে লেখার > /dev/null 2>/dev/null।
— berry120

7

আপনার কমান্ডের জন্য কেবল একটি চিন্তাভাবনা: একটি একক কমান্ড দিয়ে মেশিনকে হাতুড়ানোর আরও সহজ উপায় হ'ল সবকিছুকে একক লাইনে যুক্ত করে তুলছে:

ffmpeg -i input.mp4 -t 60 -f mp4 /mnt/a.mp4 \
 -f mp4 /mnt/b.mp4 \
 -f mp4 /mnt/c.mp4 \
 -f mp4 /mnt/d.mp4 \
 -f mp4 /mnt/e.mp4 \
 -f mp4 /mnt/f.mp4 \
 -f mp4 /mnt/g.mp4 \
 -f mp4  /mnt/h.mp4 > /dev/null 2>&1

সার্ভারকে সমস্ত উপলব্ধ প্রসেসর ব্যবহার করতে বলার জন্য আপনি একটি পতাকা যুক্ত করতে (আপনার ffmpeg সংস্করণের উপর নির্ভর করে) যুক্ত করতে চাইতে পারেন

-threads 0

রেফারেন্সের জন্য: http://ffmpeg.org/trac/ffmpeg/wiki/Crying%2020 মাল্টিপল ১০০ আউটপুট


আমি এটি চেষ্টা করেছি, এটি সমস্ত প্রসেসরের দক্ষতার সাথে ব্যবহার করে না। লোডটি 20-30% এ থাকে, হাইপার থ্রেডগুলি মোটেই ব্যবহার হয় না।
— d33pika

2
ইসি 2 মেশিনের সাথে এটির কিছু করার আছে? আমি উপরের কমান্ডটি কেবলমাত্র 16 টি আউটপুট সহ 16 সিওন কোর মেশিনে চালাচ্ছি এবং এটিই আমি পেয়েছি: হটপ স্ক্রিনশট
— নুব্লায়আইআই

আপনি কি এফএফপিপিগের সর্বশেষতম সংস্করণে আছেন?
— d33pika

@ নুব্লাআইআই </ dev / null 2> & 1 কী?
— ডাঃ জ্যাকি

1
@ মিঃ হাইড এটি আপনার কাছ থেকে স্ট্যান্ডার্ড আউটপুট লুকায় এবং আপনাকে ত্রুটির আউটপুট দেখায়। এটি পড়ুন: xaprb.com/blog/2006/06/06/ কি-does
— ইউরি সুকুপিরা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.