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


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.