অডিও এবং চিত্র -> এফএফএমপিগ ব্যবহার করে ভিডিও হিসাবে আউটপুট যোগ দিন


8

আমার কাছে 1 টি চিত্র (jpg) এবং 1 অডিও ফাইল (এমপি 3) রয়েছে এবং আমি এটি একটি ভিডিও ফাইল হিসাবে আউটপুট করতে চাই (উদাহরণ হিসাবে এভিআই বলুন)।

দু'জনে যোগ দিতে কীভাবে কেউ এফএফএমপিইগ ব্যবহার করতে জানেন? আমি অডিওর সময়কালের জন্য চিত্রটি দেখাতে চাই।

কোন ধারণা কেউ?


কোন ওস আপনি ব্যবহার করছেন
সুব্যাঙ্কি

উত্তর:


6

আপনি যদি উইন্ডোতে থাকেন তবে উইন্ডোজ মুভি প্রস্তুতকারকের ক্ষেত্রেও আপনি এটি করতে পারেন ... আপনার যদি নির্দেশের প্রয়োজন হয় তবে একটি মন্তব্য করুন leave

FFmpeg এর জন্য এটি ব্যবহার করুন

ffmpeg -loop_input -vframes 14490 -i imagine.jpg -i audio.mp3 -y -r 30 
    -b 2500k -acodec ac3 -ab 384k -vcodec mpeg4 result.mp4
  • vframes 14490 হ'ল ফ্রেমের সংখ্যা যা পুরো অডিও.এমপি 3 ফাইলের জন্য একটি অবিচ্ছিন্ন চিত্র পেতে লুপ করা উচিত is

    উদা: 8 মিনিট এবং 3 সেকেন্ডের জন্য ((8 মি x 60s + 3s) x 30fps = 14490 ভিএফ)

এখান থেকে রিসোর্স


হাই সুবানকি - আপনার মন্তব্যের জন্য ধন্যবাদ !! যদিও আমি এটি বুঝতে পারি না .. আমার অডিও এবং চিত্র থেকে একটি ভিডিও ফাইল আউটপুট করা দরকার। এটি কিভাবে এটি করে?
ব্যবহারকারী41559

@ নায়ার্সলেলি আমি সবেমাত্র জানতে পেরেছি যে কোডটি কাজ করে না, দুঃখিত .. আচ্ছা প্রাথমিক বিষয়টি এফএফএমপিএগ -f ইমেজ 2 -i চিত্র% d.jpg ভিডিও.mpg ব্যবহার করে ভিডিওতে রূপান্তর করা হবে তারপরে ভিডিও এবং অডিওতে যোগ দিন
সাবঙ্কি

আমার উত্তর আপডেট করেছে, এটি শক্ত ছিল কিন্তু আমার 1 ঘন্টা গুগল অনুসন্ধান এটি খুঁজে পেয়েছে, আমি খুশি :)
subanki

উত্তরটি সঠিক, নীচে কেন ভোট দিন :(
সুব্যাঙ্কি

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

7

এখানে প্রস্তাবিতগুলির চেয়ে অনেক সহজ উপায় আছে যার জন্য ফ্রেমের সংখ্যা গণনা বা স্বতন্ত্র ফাইলগুলির দৈর্ঘ্য ইনপুট করার প্রয়োজন হয় না (বিশেষত ব্যাচ প্রক্রিয়াজাতকরণের জন্য ভাল)। Ffmpeg এর সাম্প্রতিক সংস্করণ সহ, আপনি -shortestবিকল্পটি ব্যবহার করতে পারেন , যা সংক্ষিপ্ততম প্রবাহটি শেষ হলে এনকোডিং বন্ধ করে দেয় - এই ক্ষেত্রে, ইনপুট.এমপি 3 (যেহেতু চিত্রটি চিরতরে লুপ করবে, তাই এর অসীম দৈর্ঘ্য থাকবে):

ffmpeg -i input.mp3 -f image2 -loop 1 -r 2 -i input.jpg \
-shortest -c:a copy -c:v libx264 -crf 23 -preset veryfast output.mp4

এটি চিত্র / ভিডিওর জন্য প্রতি সেকেন্ডে 2 টি ফ্রেম ব্যবহার করে, যা ভাল হওয়া উচিত, তবে আপনি যদি এটি চান তবে এটি আরও একটি মান 25 এ সেট করতে পারেন।



5

সুব্যাঙ্কি প্রায় ঠিক আছে। ওয়ার্কিং কমান্ড লাইনটি নিম্নরূপ;

ffmpeg -y -loop 1 -i image.jpg -i audio.mp3 -r 30 -b:v 2500k -vframes 14490 -acodec libvo_aacenc -ab 160k result.mp4
-y

অনুরোধ ছাড়াই আউটপুট ফাইল ওভাররাইট করুন

-লুপ ঘ

'-লুপ_ইনপুট' বিকল্পটি হ'ল ব্যবহার-লুপ ১ অবহিত করা হয়েছে ffmpeg ডকুমেন্টেশন দেখুন ।

-i

ইনপুট ফাইল (গুলি)

-r

প্রতি সেকেন্ডের ফ্রেমগুলি
হিসাবে প্রকাশ করা যেতে পারে: -r 30000/1001 29.97nnn এর fps দেওয়া

-b: V

ভিডিও বিট রেট; সংখ্যাটি যত বেশি হবে তত ভাল মানের এবং ফাইলের আকারটি বৃহত্তর।

-vframes

উপরে বর্ণিত হিসাবে; আপনার অডিও ফাইলের মোট সময়টি সেকেন্ডে নেবেন (যেমন 00:02:41 (2 মিনিট 41 সেকেন্ড) 161 মোট সেকেন্ডের (2 x 60) + 41 এর সমান। তারপরে আপনি -r (যেমন 161 x 30 = 4830) দ্বারা নির্দিষ্ট করা ফ্রেম প্রতি সেকেন্ডে মোট সেকেন্ডকে গুণান।

-vframes -t 161 (-t সময়কালীন রেকর্ড বা ট্রান্সকোড "সময়কাল" অডিও / ভিডিওর সেকেন্ড) দিয়ে প্রতিস্থাপন করা যেতে পারে

-acodec

আপনি যে ধরণের ফাইল তৈরি করছেন সেটির জন্য সঠিক অডিও কোডেক ব্যবহার করুন। .Mp4 এর জন্য এটি একটি এএসি ফর্ম্যাট হওয়া উচিত। কোডেক libvo_aacenc আমার উইন্ডোজ 7 সিস্টেমের জন্য সঠিক এনকোডিং কোডেক ছিল।

-ab

অডিও বিট হার

result.mp4

এটি আউটপুট ফাইলের নাম। এটি আপনার সিস্টেমের জন্য কোনও আইনি ফাইলের নাম হতে পারে। যদি আপনি -vcodec ব্যবহার করে কোনও নির্দিষ্ট না করেন তবে এক্সটেনশনটি ffmpeg সঠিক ভিডিও কোডেক নির্ধারণ করতে সহায়তা করবে।


1

সেই সাধারণ বাশ / সাইগউইন স্ক্রিপ্ট যা স্বয়ংক্রিয়ভাবে Y অডিও এক্সটেনশনের সমস্ত ফাইলকে 10FPS এমপি 4 ভিডিও ফাইলটিকে ডিরেক্টরিতে ফোল্ডার.jpg চিত্রের সাথে ডিরেক্টরিতে এনকোড করবে,

ইউটিউব আপলোডগুলির জন্য দরকারী;)

AUDIO=m4a; 
$'\n'; for a in `ls -1 *.$AUDIO `; do ffmpeg -i $a &2> $a.info ; done;
cat '' > do.sh
IFS=$'\n'; 
for a in `ls -1 *.$AUDIO`; do D=`grep Duration $a.info | cut -d',' -f1 | cut -d' ' -f4 | cut -d'.' -f1 | head -n1 `; S=$(( $( echo $D | cut -d':' -f2 ) * 60 + 1 + ` echo $D | cut -d':' -f3  ` )) ; echo ffmpeg -loop_input -vframes $(( $S * 10 )) -i folder.jpg -i \"$a\" -y  -r 10 -b 2500k -ab 384k -vcodec mpeg4 \"$a.mp4\" >> do.sh;  done;
split -l5 do.sh
xa* &

0

ভার্চুয়ালডাব ডাউনলোড করুন , তারপরে এটি করুন:

  1. আপনি যেমন কোনও সাধারণ ভিডিও ফাইল খুলবেন তেমন চিত্রটি খুলুন।

  2. অডিওর সময়কালকে সেকেন্ডে গণনা করুন এবং এটি নিকটতম পুরো দ্বিতীয় (যেমন 78 78.৩৪ সেকেন্ডে 79৯ সেকেন্ডে পরিণত হয়) গড়াবেন। এই মানটিকে এখন থেকে x বলা হয়।

  3. "ভিডিও> ফ্রেম রেট" এ যান "ফ্রেম রেট (এফপিএস) এ পরিবর্তন" নির্বাচন করুন এবং মান হিসাবে "1 / x" লিখুন। অতিরিক্ত হিসাবে, যদি আপনি 25 এফপিএসের মতো ফলাফলের ফাইলে একটি সাধারণ ফ্রেম রেট রাখতে চান তবে "রূপান্তর করুন এফপিএস" নির্বাচন করুন এবং সেখানে ওয়ান্টেড ফ্রেম রেট দিন।

  4. "ভিডিও> সংক্ষেপণ" নির্বাচন করুন এবং আপনার পছন্দসই স্বাদ চয়ন করুন। এটি এমন হতে পারে যে আপনাকে আকার পরিবর্তনকারী ফিল্টার সহ চিত্রের আকার সামঞ্জস্য করতে হবে।

  5. "অন্যান্য ফাইল থেকে অডিও> অডিও" এ যান এবং সেখানে আপনার অডিও নির্বাচন করুন। প্রয়োজনে অডিওর জন্য একটি সংক্ষেপণ নির্বাচন করুন।

  6. ফাইলটি সংরক্ষণ করুন।

সূত্র: স্টেফানভি


ধন্যবাদ স্টিফানভি .. আমার এফএফএমপিগ ব্যবহার করা দরকার তবে এটি একটি ভাল পরামর্শ .. ধন্যবাদ
ইউজার 41559
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.