একটি উচ্চ মানের ভিডিও এনকোড করতে ffmpeg ব্যবহার করা [বন্ধ]


92

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

প্রাথমিক আদেশটি হ'ল:

ffmpeg -r 25 -i %4d.png myvideo.mpg

এবং আমি মিনিট্রেট এবং সর্বাধিক পতাকা চেষ্টা করেছি। যে কোনও {এমপিজি, এভি, মুভি, ফ্লাভি} ফর্ম্যাটগুলি করবে।

সেটিংস জন্য কোনও পরামর্শ? চূড়ান্ত ফাইলের আকার কোনও সমস্যা নয়।


7
আমার ম্যাক, আমি নিম্নলিখিত কমান্ড প্রয়োগ করুন: ffmpeg -r 20 -f image2 -i myImage%04d.png -f mp4 -q:v 0 -vcodec mpeg4 -r 20 myVideo.mp4। আমি দেখতে পেয়েছি যে ফ্রেমরেটকে জোর করতে, আমাকে এটি ইনপুট এবং আউটপুট ফাইল উভয়ের জন্য নির্দিষ্ট করতে হয়েছিল। এই কোডেকটি আমার পক্ষে কাজ করছে বলে মনে হচ্ছে - আপনার এটি নির্দিষ্ট করার প্রয়োজন হতে পারে না। আমি কেবল আমি যা করেছি তা অন্তর্ভুক্ত করতে চেয়েছিলাম কারণ এতে কাজ করার জন্য আমি অনেক সময় ব্যয় করেছি। একমাত্র খারাপ দিকটি হ'ল আমার ইনপুট চিত্রগুলি উচ্চ-বিপরীত (সাদা পটভূমির বিপরীতে নীল এবং লাল বল) এবং পরে মুভিতে, বলগুলি সমস্ত একই গা dark় রঙে পরিণত হয় - একটি অযাচিত বিপরীতে প্রভাব।
jvriesem

ধন্যবাদ @ jvriesem! এটি আমার জন্য কাজ করে মহান।
ড্যান লোয়েহের্জে


C ++ সংস্করণ stackoverflow.com/a/43464269/6180077 ffmpeg C ++ MP4 ফরম্যাটে পর্দা রেকর্ডার অ্যাপ্লিকেশন কাজ করার জন্য এই লিঙ্কটি দেখুন।
আবদুল্লাহ ফারবীজ 9:37

: libs এই লিঙ্কে যা লেখা ভিডিও ফাইল ffmpeg ব্যবহার প্রমান পরীক্ষা programatically stackoverflow.com/a/43464269/6180077
আব্দুল্লাহ Farweez

উত্তর:


64

কয়েকটি জিনিস:

  • আপনাকে ভিডিও বিটরেট সেট করতে হবে। আমি কখনই মিনারেট এবং ম্যাক্রেট ব্যবহার করি নি তাই তারা ঠিক কীভাবে কাজ করে তা আমি জানি না তবে -bস্যুইচটি ব্যবহার করে বিটরেট সেট করে আমি উচ্চ মানের ভিডিও পেতে সক্ষম হয়েছি। আপনাকে একটি বিটরেট নিয়ে আসতে হবে যা সংক্ষেপণ এবং ভিডিও মানের মধ্যে একটি ভাল ট্রেড অফ দেয়। আপনাকে এটি নিয়ে পরীক্ষা-নিরীক্ষা করতে হতে পারে কারণ এটি সমস্ত আপনার ভিডিওর সামগ্রীর ফ্রেমের আকার, ফ্রেমের হার এবং গতির পরিমাণের উপর নির্ভর করে। মনে রাখবেন যে ডিভিডিটি প্রায় 720x480 এর জন্য প্রায় 4-5 এমবিট / সেকেন্ডে থাকে, তাই আমি সাধারণত সেখান থেকে শুরু করে আমার আরও কম-বেশি প্রয়োজন কিনা তা স্থির করে কেবল পরীক্ষা-নিরীক্ষা করি। উদাহরণস্বরূপ, আপনি -b 5000kকম-বেশি ডিভিডি ভিডিও বিটরেট পেতে কমান্ড লাইনে যুক্ত করতে পারেন।

  • আপনাকে একটি ভিডিও কোডেক নির্দিষ্ট করা দরকার। যদি আপনি এটি না করেন তবে ffmpeg এমপিইজি -1 এ ডিফল্ট হবে যা বেশ পুরানো এবং এমপিইজি -4 বা এইচ .264 হিসাবে সংক্ষেপণের পরিমাণের কাছে সরবরাহ করে না। যদি আপনার ffmpeg সংস্করণটি libx264 সমর্থন দিয়ে নির্মিত হয়, আপনি -vcodec libx264কমান্ড লাইনের অংশ হিসাবে নির্দিষ্ট করতে পারেন । অন্যথায় -vcodec mpeg4MPEG-1 এর চেয়ে আরও ভাল কাজ করবে তবে x264 এর মতো নয়।

  • অন্যান্য অনেক উন্নত বিকল্প রয়েছে যা আপনাকে সর্বনিম্ন বিটরেটগুলিতে সেরা মানেরটি বের করতে সহায়তা করবে। কিছু উদাহরণের জন্য এখানে একবার দেখুন ।


6
ধ্রুব বিটরেট মানের জন্য খারাপ। ধ্রুবক হারের ফ্যাক্টর ব্যবহার করা উচ্চতর (এটি অপারেশনের x264 পদ্ধতিগুলির মধ্যে একটি)। উদাহরণস্বরূপ: ffmpeg -i … -c:a copy -c:v libx264 -crf 18 -preset veryslow …। 18 খুব প্রান্তিক মানের ক্ষতি সহ সিআরএফ, তবে বিটরেট সম্ভবত কম হবে। এবং আপনার যদি ছোট ফাইলের আকার প্রয়োজন হয় তবে আপনি বড় সিআরএফ মানগুলি চেষ্টা করতে পারেন। এবং আপনি দেখতে হিসাবে, এটি বেশ সহজ।
নাম প্রদর্শন করুন

নোট করুন যে-বি ভিডিওর আগে হওয়া উচিত তবে ইনপুট পরে -i
mateuszb

47

ভিডিও বিটরেট বাড়ানোর জন্য আপনাকে -vb বিকল্পটি নির্দিষ্ট করতে হবে, অন্যথায় আপনি ডিফল্ট পাবেন যা ছোট ভিডিও উত্পাদন করে তবে আরও শৈল্পিকতা সহ।

এরকম কিছু চেষ্টা করুন:

ffmpeg -r 25 -i %4d.png -vb 20M myvideo.mpg


4
এটি আমার জন্য ভাল কাজ, ধন্যবাদ;)
thiago.adriano26

16

ভিডিওটি তৈরির আগে নিশ্চিত করুন যে পিএনজিগুলি সম্পূর্ণরূপে অস্বচ্ছ

উদাহরণস্বরূপ চিত্রযুক্তি দিয়ে তাদের একটি কালো পটভূমি দিন:

convert 0.png -background black -flatten +matte 0_opaque.png

আমার পরীক্ষাগুলি থেকে, যদি আপনি স্বচ্ছতার সাথে ffmpeg PNGs খাওয়ান তবে ভিডিওকে ভাল দেখতে কোনও বিটরেট বা কোডেকই যথেষ্ট নয়


এটি আমার জন্য সমস্যার সমাধান।
মাতেজ ক্রিপনার

এই ইঙ্গিতটি সত্যিই বিরক্তিকর লো ভিডিওর মানের সমাধান করেছে। অনেক ধন্যবাদ.
দাসি

0

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


চিত্রগুলি মূলত একটি ভিডিও ক্রম থেকে এসেছে। তাদের কেবল কিছুটা ফসল কাটা, স্কেলিং হয়েছে এবং চিত্রম্যাগিক দিয়ে কী করা হয়নি। প্রভাবগুলি হ'ল সংকোচনের নিদর্শনসমূহ। : আমি এখন এই পোস্টে, যা একটি উত্তর আছে বলে মনে হয় দেখা করেছি stackoverflow.com/questions/3158235/...
CakeMaster

@ কেকমাস্টার আমি ক্ষতিকারক সংকোচনের বিষয়টি উল্লেখ করিনি কারণ আপনার উদাহরণটিতে ".png" চিত্র রয়েছে। .png এর ক্ষয়ক্ষতি হতে পারে তবে আমি দেখতে পাই সেগুলি সাধারণত হয় না। .jpg গুলি প্রায় সর্বদা ক্ষতিকারক তাই হস্তক্ষেপগুলি ব্যবহার করার সময়। আপনি যদি পারেন তবে আপনার .png এর ক্ষতিহীন সংকোচনের সাথে পুনর্নির্মাণ করতে পারেন।
জাস্টবু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.