ভিডিও থেকে নিষ্কাশন করা ffmpeg পাইপ চিত্র


8

আমি ffmpeg ব্যবহার করে একটি ভিডিও থেকে চিত্রগুলি উত্তোলনের জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারি, সেগুলি ফাইল সিস্টেমে সংরক্ষণ করে:

... | ffmpeg -i - -f image2 'img-%03d.png'

আমি এই চিত্রগুলিকে ফাইল সিস্টেমে সংরক্ষণের পরিবর্তে অন্য অ্যাপ্লিকেশনটিতে পাইপ করতে চাই - পাইপগুলিতে কীভাবে পৃথক করা হয় তা খুব একটা গুরুত্ব দেয় না, কারণ এটি নোডজেএস স্ক্রিপ্ট হবে যা আমি নিজেকে নিয়ন্ত্রণ করি।

নিম্নলিখিতগুলি কাজ করে না:

... | ffmpeg -i - -f image2 pipe: | ...

এর সাথে ত্রুটি

[image2 @ 0xe1cfc0] Could not get frame filename number 2 from pattern 'pipe:' (either set updatefirst or use a pattern like %03d within the filename pattern)
av_interleaved_write_frame(): Invalid argument

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


চেষ্টা করুন-f png - | ...
জ্ঞান

@ মালব্য এটির সাথে ত্রুটিযুক্ত হওয়ার ফলাফল [NULL @ 0x10e2860] Requested output format 'png' is not a suitable output format pipe:: Invalid argument
বিরজোলাক্সউইউ

2
ব্যবহার করে দেখুন -f image2pipe -vcodec png - | ...। পিএনজি কাজ করতে পারে না, যদি তাই হয় তবে ভিসোডেক অপসারণের পরে আউটপুট এমজেপিইজি হবে।
জ্ঞান

@ মালব্য যে সত্যিই কাজ করেছিল। আপনাকে অনেক ধন্যবাদ :)
বিরজোলাক্সিউ

উত্তর:


4

হ্যা এখানে!

যুক্তি যুক্ত করুন -f image2pipeএবং আউটপুট ফাইলের -নামটি একটি একক হাইপেন হিসাবে উল্লেখ করুন ( এই প্রসঙ্গে এটির অর্থ stdout) এবং ইনপুট ফাইলের নামটিও একটি একক হাইপেন হিসাবে নির্দিষ্ট করুন ( -i -, এই প্রসঙ্গে এটির অর্থ stdin) এবং আউটপুট ফর্ম্যাটটি স্পষ্টভাবে নির্দিষ্ট করুন (যেমন পিএনজি-র জন্য : -c:v png), এখানে একটি সম্পূর্ণ উদাহরণ রয়েছে:

ffmpeg -i - -ss 00:00:3 -s 650x390 -vframes 1 -c:v png -f image2pipe -
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.