কিভাবে ffmpeg এ অডিও এবং ভিডিও ফাইল একীভূত করতে


161

আমি একটি অডিও ফাইল (.wav বা .au ফর্ম্যাট) একটি ভিডিও ফাইল (.mp4 ফর্ম্যাট) এর সাথে মার্জ করতে চাই।

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


এখানে একটি শালীন নিবন্ধটি সহায়ক হতে পারে খুব ... এর cfc.kizzx2.com/index.php/muxing-audio-and-video-with-ffmpeg
সাইমন ইস্ট

উত্তর:


260

অডিও পুনরায় এনকোডিং সহ ভিডিও এবং অডিও একত্রিত করা হচ্ছে

এই ব্লগ এন্ট্রি থেকে নেওয়া তবে নতুন সিনট্যাক্সের জন্য আপডেট হওয়া এই উদাহরণটি দেখুন । এটির প্রভাবের কিছু হওয়া উচিত:

ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental output.mp4

এখানে, আমরা ধরে নিই যে ভিডিও ফাইলটিতে এখনও কোনও অডিও স্ট্রিম নেই, এবং আপনি ইনপুট ফর্ম্যাট হিসাবে একই আউটপুট ফর্ম্যাট (এখানে, এমপি 4) রাখতে চান।

উপরের কমান্ডটি অডিও ট্রান্সকোড করে, এমপি 4 গুলি পিসিএম অডিও স্ট্রিম বহন করতে পারে না। আপনি চাইলে অন্য যে কোনও পছন্দসই অডিও কোডেক ব্যবহার করতে পারেন। দেখুন এএসি এনকোডিং গাইড আরও তথ্যের জন্য।

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

পুনরায় এনকোডিং ছাড়াই অডিও অনুলিপি করা হচ্ছে

যদি আপনার আউটপুট ধারক এমকেভি - এর মতো কোনও কোডেক (প্রায়) পরিচালনা করতে পারে তবে আপনি কেবল অডিও এবং ভিডিও উভয় স্ট্রিমই অনুলিপি করতে পারেন:

ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv

অডিও স্ট্রিম প্রতিস্থাপন করা হচ্ছে

যদি আপনার ইনপুট ভিডিওটিতে ইতিমধ্যে অডিও রয়েছে এবং আপনি এটি প্রতিস্থাপন করতে চান তবে আপনাকে ffmpeg বলতে হবে যে অডিও স্ট্রিমটি গ্রহণ করবে:

ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental \
-map 0:v:0 -map 1:a:0 output.mp4

mapবিকল্প ffmpeg শুধুমাত্র প্রথম ইনপুট এবং আউটপুট ফাইলের জন্য দ্বিতীয় ইনপুট থেকে প্রথম অডিও স্ট্রীম থেকে প্রথম ভিডিও স্ট্রিম ব্যবহার করে।


আমি এটি চেষ্টা করেছিলাম তবে মার্জ করার সময় ffmpeg হিমশীতল
স্যান্ডি

4
আমার মনে হয় না এমপি 4 পাত্রে ওয়াভ অডিও স্ট্রিম থাকতে পারে। চেষ্টা করুনffmpeg -i audio.wav -i video.mp4 -acodec copy -vcodec copy -f mkv output.mkv
লুক

1
আমি এটি ব্যবহার করছি এবং এটি ইনপুট অডিও থেকে মূল অডিওটি প্রতিস্থাপন করছে। আমি যদি ইনপুট ভিডিওর অডিওটির সাথে ইনপুট অডিওটি মার্জ করতে চাই?
ইকবাল মালিক

খুব মিষ্টি কমান্ড লাইন ...
চন্দ্র নাক্কা

দুর্দান্ত, আমি ffmpeg -i video.mp4 -i Audio.wav c -c: v copy -c: একটি ওয়াট ফাইলের সাথে এমপি 3 মার্জ করার জন্য পরীক্ষামূলক আউটপুট.এমপি 4 ব্যবহার করেছি ... => এমপি 4 5 মিনিট, রেকর্ড করা 30 সেকেন্ড .. ধন্যবাদ
সোনিদা

12

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

যে কোনও স্ট্রিমটি কাটতে, আপনি প্রতিটি -i "file.ext" এর আগে -ss [hh: মিমি: ss] -t [ss] ব্যবহার করতে পারেন।
-ss [...] কাটাতে প্রারম্ভিক বিন্দুটি সংজ্ঞায়িত করবে
-t [...] বিভাগটির দৈর্ঘ্যকে সেকেন্ডে সংজ্ঞায়িত করবে

উদাহরণ:

ffmpeg.exe -ss 00:00:10  -t 5 -i "video.mp4" -ss 0:00:01 -t 5 -i "music.m4a" -map 0:v:0 -map 1:a:0 -y out.mp4

4
আপনি কেবল শেষটি -shortestকাটাতেও ব্যবহার করতে পারেন ।
nyuszika7h

5

-পেন কমান্ড প্রম্ট (উইন্ডোজ + আর -> সেমিডি-> প্রবেশ করুন)

-আপনার যে ফোল্ডারে অডিও এবং ভিডিও ফাইল রয়েছে তার ভিতরে যান

এই সেন্টিমিটার প্রয়োগ করুন

ffmpeg -i "videoFile.mp4" -i "audioFile.mp3" -shortest outPutFile.mp4

প্রবেশ করুন .... আপনি আউটপুটফাইম.এমপি 4 (অডিও এবং ভিডিওর একীভূত ফাইল) নামে একটি নতুন ফাইল পাবেন


2
এখানে কমান্ড লাইনটি কীভাবে ব্যবহার করবেন তা বর্ণনা করার প্রয়োজন নেই। এটি বেশ অনেকটা বোঝানো হয়েছে যে ব্যবহারকারীরা এটি নির্ধারণ করতে সক্ষম হবেন। বিশেষত যেহেতু প্রশ্নকর্তা FFmpeg নির্দিষ্ট করেছেন। সব একই, -shortestট্যাগ খুব নিফটি। @ ব্যবহারকারী 136036 এর উত্তরের চেয়ে অনেক সহজ।
কেট

3
এটি সবকিছু পুনরায় এনকোড করবে যা সম্ভবত যা চেয়েছিল তা নয়।
mivk


'ffmpeg' কোনও অভ্যন্তরীণ বা বাহ্যিক আদেশ হিসাবে স্বীকৃত নয়,
ইউনিকোডার


5

এটি আমার পক্ষে কাজ করেছে:

ffmpeg.exe -i AudioT.m4a -i VideoT.mp4 -acodec copy -vcodec copy muxed.mp4

1
এটি আমার জন্য আংশিকভাবে কাজ করে, সমস্ত ইনপুটগুলির জন্য কাজ করে না, কিছু ফলাফল ইনপুট ভিডিও আউটপুটটিতে একই থাকে
নরেন্দ্র সিং


1

মেনকোডার ব্যবহার করার চেষ্টা করুন (হ্যাঁ এটি ffmpeg ভিত্তিক, তবে আপনি কখনই জানেন না)। আমি -audiofileযুক্তিটি ব্যবহার করি । আমি সাধারণত ffmpeg ব্যবহার করি, তবে, এক চিমটি লবণ দিয়ে এই পরামর্শটি গ্রহণ করুন।

এবং, যদি আপনি উইন্ডোজ ব্যবহার করেন তবে মিডিয়াকোডার (ওপেন সোর্স দুঃখের সাথে নয়) কাজ করে ... এটি মূলত প্রচুর জিএনও এনকোডার এবং কয়েকটি অ-মুক্তদের জন্য একটি সম্মুখভাগ।

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