ffmpeg অডিও যুক্ত করুন তবে ভিডিওর দৈর্ঘ্য একই রাখুন (সবচেয়ে কম নয়)


12

আমি ffmpeg যেমন ব্যবহার করে একটি ভিডিও ফাইলে অডিও যুক্ত করছি

ffmpeg -i videofile.mp4 -i audiofile.wav output.mp4

তবে এটি যদি ভিডিওর চেয়ে দীর্ঘ হয় তবে আউটপুট ভিডিওটির দৈর্ঘ্য আউটপুট ভিডিও ফাইলটিকে প্রসারিত করে। অডিও ফাইলটি ভিডিওর চেয়ে সংক্ষিপ্ত হলে-শোর্টেস্ট ব্যবহার করে ভিডিও ফাইলটিকে সংক্ষিপ্ত করে তোলে। তাহলে আউটপুট ভিডিওটির দৈর্ঘ্য ইনপুট ভিডিওর দৈর্ঘ্যে রাখতে কেটে ফেলতে ffmpeg বলতে কি কোনও পতাকা রয়েছে?


একটি সঠিক উত্তর নির্বাচন করুন। একমাত্র আসল সঠিকটি হ'ল @ জুরেচটউইজার।
রোল ভ্যান ডি পায়ার

উত্তর:


13

আমি বিশ্বাস করি যে আপনি যদি ভিডিওটি দীর্ঘ হয় তবে-ফিল্টার_কম্পলেক্স বিকল্প এবং এ্যাপিড ফিল্টার বিকল্পটি আপনার অডিওটি শেষে নীরবতার সাথে প্যাড করার মাধ্যমে আপনার পছন্দসই লক্ষ্য অর্জন করতে পারবেন। আপনার আদেশ হবে:

ffmpeg -i videofile.mp4 -i audiofile.wav -filter_complex " [1:0] apad " -shortest output.mp4

এটি ধরে নিয়েছে যে আপনি যে অডিওটি চান তা অডিওফাইল.ওয়াভের প্রথম প্রবাহে রয়েছে, [এ: বি] বাক্য গঠনটি আথ ইনপুট থেকে বি'থ স্ট্রিম নিতে বলেছে (উভয়ই 0 দিয়ে শুরু হয়েছে, সুতরাং [1: 0] হ'ল) 2 য় ইনপুট থেকে 1 ম স্ট্রিম, বা উপরে অডিওফাইল.ওয়াভ)।

বিশদ এখানে: https://www.ffmpeg.org/ffmpeg-filters.html# উদাহরণ-68


আপনার উল্লেখ করা উচিত, -filter_complexঅপশনটি পুনরায় কোডিংয়ের জন্য বাধ্য করে - এটি চালানো সম্ভব ffmpeg -i videofile.mp4 -i audiofile.wav -c:v copy output.mp4তবে সম্ভব নয়ffmpeg -i videofile.mp4 -i audiofile.wav -filter_complex " [1:0] apad " -c:v copy -shortest output.mp4
ইউজেন রিইক

এটি যা অনুরোধ করা হয়েছে তার বিপরীত উত্তর। অডিও অডিও শেষ হওয়ার সাথে সাথে ভিডিও শেষ করতে বলে, প্রদত্ত উত্তরটি অডিওটি যদি কম হয় তবে ভিডিওটি নীরবতা যুক্ত করা হয়। এই উত্তরটি ভুল।
রোল ভ্যান ডি পায়ার

ওপি যা অনুরোধ করেছে তার বিপরীতে নয়। ওপিগুলি অডিও ট্র্যাকটির দৈর্ঘ্য নির্বিশেষে আউটপুট ভিডিওটিকে ইনপুট ভিডিওটির দৈর্ঘ্য হতে চায়। আমার উত্তর সেই পরিস্থিতিতে সম্বোধন করে যেখানে ইনপুট ভিডিও অডিও ফাইলের চেয়ে দীর্ঘ। ওপরের কাছে ইতিমধ্যে একটি সমাধান রয়েছে যখন কখন ইনপুট ভিডিও অডিও ফাইলের চেয়ে খাটো হয় - যা সবচেয়ে কম ব্যবহার করা হয়।
ডেডকোড

12
  • যদি ভিডিওর দৈর্ঘ্য অডিও দৈর্ঘ্যের চেয়ে কম -shortestহয় তবে আপনি যা চান তা চাই।
  • যদি ভিডিওর দৈর্ঘ্য অডিও দৈর্ঘ্যের চেয়ে দীর্ঘ হয় তবে কোনও পতাকা আপনার পছন্দ মতো হবে না।

এই সিদ্ধান্তটি স্বয়ংক্রিয় করার জন্য কোনও পতাকা নেই।

সম্পাদনা

@ ডেডকোডের উত্তরে অনুপ্রাণিত হয়ে আমার স্পষ্ট করে বলা দরকার, " পুনরায় কোডিং করতে ইচ্ছুক থাকলে" "স্বয়ংক্রিয়ভাবে কোনও পতাকা অবশ্যই" সত্য নয় : এক্ষেত্রে @ ডেডকোডেরapad পরামর্শ অনুসারে চলুন।

তবে আপনি যদি পুনরায় কোডিং (যেমন -c:v copy) এড়াতে চান তবে উত্তরটি দাঁড়িয়ে আছে।

ffconcatডেমাক্সার ব্যবহার করে একটি কার্যকারিতা রয়েছে, তবে এটির জন্য কিছুটা কাজের প্রয়োজন:

  • আপনার অডিওফাইলে ঠিক একই বিন্যাসে নীরবতাযুক্ত একটি ফাইল তৈরি করুন ("নীরবতা")
  • একটি কনক্যাট ফাইল "অডিও.এফকনক্যাট" তৈরি করুন (আপনার অডিওটি যথেষ্ট দীর্ঘ হয়েছে তা নিশ্চিত করার জন্য আপনার যতটা নীরবতা রেখা রয়েছে):

file 'audiofile.wav'
file 'silence.wav'
file 'silence.wav'
...
file 'silence.wav'
  • চালান ffmpeg -i videofile.mp4 -f concat -i audio.ffconcat -c:v copy output.mp4

apadএটি কোনও ফিল্টার গ্রাফ ছাড়াই ফিল্টারকে সংশ্লেষিত করবে , সুতরাং পুনরায় কোডিং ছাড়াই একটি ম্যাক্সকে অনুমতি দেবে।


@ রোলভান্ডেপ্যাপার যেমনটি বলেছিলাম: ভিডিওর দৈর্ঘ্য যদি অডিও দৈর্ঘ্যের ব্যবহারের চেয়ে কম হয় -shortest, অন্যথায় আপনি যদি পুনরায় কোডিং ছাড়াই নীরবতা যোগ করতে চান তবে এই কাজটি ব্যবহার করুন।
ইউজেন রিয়েক

সঠিক, এটি পর্যালোচনা মিস। ইনপুট সরানো হয়েছে। একই কাজ করতে নির্দ্বিধায়।
রোল ভ্যান ডি পায়ার

6

আপনি যদি নিজের ভিডিও-ফাইলের দৈর্ঘ্য জানেন তবে আপনি এটি ব্যবহার করে তা সম্পাদন করতে পারেন

ffmpeg -i videofile.mp4 -i audiofile.wav -t 43 output.mp4

যেখানে 43 সেকেন্ডে আপনার ভিডিও-ফাইলের দৈর্ঘ্য।


ভিডিওটি শেষ না হওয়াতে লেখক প্রশ্ন অডিও ফাইলটি লুপ করতে চায়। এটি কি তার জন্য কাজ করে?
রাফায়েল

@ রাফায়েলস্যাঞ্চস না, তিনি করেন না।
জুরেচটুইজার

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