FFmpeg এ ‘অতীত সময়কাল খুব বড়’ ত্রুটি কীভাবে ঠিক করবেন?



সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন

FFmpeg একটি বিনামূল্যে ব্যবহারের জন্য এবং ওপেন সোর্স প্রোগ্রাম যা ভিডিও, অডিও এবং অন্যান্য মাল্টিমিডিয়া স্ট্রিম পরিচালনা করার জন্য ব্যবহৃত হয়। প্রোগ্রামটি ভিডিও এবং অডিও ফাইলগুলির প্রসেসিংয়ের কমান্ড লাইন ভিত্তিক হ্যান্ডলিং পরিচালনা করতে ডিজাইন করা হয়েছে। তবে সম্প্রতি বেশ কয়েকটি রিপোর্ট প্রকাশিত হয়েছে অতীত সময়কাল খুব বড় 'একটি ভিডিও এনকোডিং বা ডাউনস্কল করার সময় ত্রুটি।



FFmpeg লোগো



FFmpeg এ 'অতীতের সময়কাল খুব দীর্ঘ' ত্রুটির কারণ কী?

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



  • ইনপুট ফ্রেমেরেট অনুপস্থিত: বেশিরভাগ ক্ষেত্রে, ইমেজগুলির জন্য ইনপুট ফ্রেমরেট প্রবেশ না করায় সমস্যা দেখা দেয়। প্রোগ্রামটির ফলাফলটি ধরেই নেওয়া হচ্ছে যে ইনপুট ফ্রেমরেট 25 fps যা যদি সমস্যা না করে তবে সমস্যা তৈরি করতে পারে।
  • সিঙ্ক সেটিংস প্রয়োগ করা হয়নি: বেশিরভাগ ব্যবহারকারীর সাথে কিছু নির্দিষ্ট সিঙ্ক সেটিংস প্রয়োগ করে সমস্যাটি স্থির করে। কখনও কখনও, ফ্রেমগুলি সঠিকভাবে সিঙ্ক হয় না যার কারণে নির্দিষ্ট ফ্রেমগুলি বাদ পড়ে এবং এই ত্রুটিটি ট্রিগার হতে পারে।

এখন আপনার সমস্যার প্রকৃতি সম্পর্কে প্রাথমিক ধারণা রয়েছে, আমরা সমাধানের দিকে এগিয়ে যাব। এগুলিকে সংঘাত এড়ানোর জন্য যে নির্দিষ্ট ক্রমে উপস্থাপন করা হয়েছে সেগুলিতে এটি প্রয়োগ করার বিষয়টি নিশ্চিত করুন।

সমাধান 1: ইনপুট ফ্রেম যুক্ত করা

ভিডিওটির ইনপুট ফ্রেমরেটটি যুক্ত না করা থাকলে এর ফলে কিছু ফ্রেম নেমে যেতে পারে এবং ত্রুটিটি ট্রিগার হয়। অতএব, এই পদক্ষেপে আমরা এর জন্য ইনপুট ফ্রেমগুলি যুক্ত করব:

  1. আপনি ভিডিওটি রূপান্তর করতে যে সমাবর্তনটি ব্যবহার করেছিলেন তা পর্যবেক্ষণ করুন, এটি চালু হতে পারে অনুরূপ পরবর্তী
    ffmpeg -i% 05d.png -r 24 -c: v libx264 -crf 5 out.mkv
  2. এখন সহজভাবে যোগ করুন দ্য চক্রের হার নিম্নলিখিত হিসাবে সমাবর্তন ব্যবহৃত
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  3. সমস্যাটি স্থির থাকে কিনা তা পরীক্ষা করে দেখুন।

সমাধান 2: সিঙ্ক ফ্ল্যাগ ব্যবহার করে

সিঙ্ক ফ্ল্যাগগুলি যুক্ত করা আউটপুট এবং ইনপুট ভিডিওটিকে ভিডিওর প্রাথমিক ফ্রেমরেট অনুযায়ী সিঙ্ক করতে সহায়তা করে। সুতরাং, যদি সিঙ্ক কমান্ডগুলি যুক্ত না করা থাকে তবে সম্ভবত ফ্রেমগুলি সঠিকভাবে সিঙ্ক হচ্ছে না। এই পদক্ষেপে, আমরা সিঙ্ক কমান্ডগুলি যুক্ত করব



  1. এই পর্যায়ে, আপনি সম্ভবত হতে হবে ব্যবহার নিম্নলিখিত সমাবর্তন
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv
  2. তবে এর পরিবর্তে, ব্যবহার নিম্নলিখিত সমাবর্তন
    ffmpeg -framerate 24 -i% 05d.png -c: v libx264 -crf 5 out.mkv -async 1 -vsync 1
  3. মনে রাখবেন যে আমরা সবেমাত্র ' -অনেক-vsync1 ”সমাবর্তনে এবং এটি আপনি যে সমাবর্তনটি ব্যবহার করছেন তা শেষে যুক্ত করা দরকার।
    বিঃদ্রঃ: আপনার প্রাথমিক সমাবর্তন উদাহরণ হিসাবে ব্যবহৃত একটি থেকে পৃথক হতে পারে। সমাবর্তনে যুক্ত হওয়া পরিবর্তনগুলি অবশ্য আলাদা হওয়া উচিত নয়।
2 মিনিট পড়া