এফএফএমপিইগ মানের না হারিয়ে ফ্লাভকে এমপি 4 এ রূপান্তর করে [সদৃশ]


55

এইচটিএমএল 5 ভিডিও প্লেয়ারের সাথে ব্যবহার করার জন্য আমি .flv ফ্ল্যাশ ফাইলগুলিকে .webm এবং .mp4 ফাইলগুলিতে রূপান্তর করছি।

: _

আমি WEBM- এর জন্য এই ffmpeg কমান্ডটি ব্যবহার করি: ffmpeg -i filename.flv -vcodec libvpx -acodec libvorbis filename.webm যা দুর্দান্ত কাজ করে এবং ফাইলের আকার তুলনামূলকভাবে একই থাকে (ইমোপ্র্যাট্যান্ট)।

: _

এমপি 4 এর জন্য আমি নিম্নলিখিতগুলি ব্যবহার করছি: ffmpeg -i filename.flv -sameq -ar 22050 filename.mp4

এটি। এমপি 4 সূক্ষ্মে রূপান্তরিত করে এবং কোনও গুণমানের ক্ষতি রোধ করে তবে ফাইলের আকারটি প্রায় তিনগুণ।

খুব বেশি গুণমান নষ্ট না করে এবং আরও বেশি ফাইলের আকার রোধ না করে কোন এফএফপিইগ সূত্রটি এমপি 4 তে রূপান্তর করতে ব্যবহার করা যেতে পারে?

উত্তর:


57
ffmpeg -i filename.flv -c:v libx264 -crf 19 -strict experimental filename.mp4

আপনাকে অবশ্যই ব্যবহৃত ভিডিও কোডেক নির্দিষ্ট করতে হবে। আপনার কমান্ডে আপনি নির্দিষ্ট করে নেই -vcodecবা -c:vতাই ffmpeg এমপি 4 ( mpeg4) এর জন্য ডিফল্ট কোডেক ব্যবহার করে যার মধ্যে খুব ভাল সংকোচনের দক্ষতা নেই। পরিবর্তে libx264 ব্যবহার করে সিআরএফ সেট করার চেষ্টা করুন, যা মানের স্তর (নিম্নতর ভাল, ডিফল্টটি 23, এবং বুদ্ধিমানের মান 18 এবং 28 এর মধ্যে)।

Libx264 এর সাথে এনকোডিং এক ধরণের জটিল, সুতরাং আপনার H.264 এনকোডিং গাইডটি সন্ধান করা উচিত ।

আপনি -strict experimentalঅন্যথায় আপনি পেতে পারেন তাও উল্লেখ করতে হবে: "এনকোডার 'এ্যাক' পরীক্ষামূলক তবে পরীক্ষামূলক কোডেক সক্ষম নয়, আপনি যদি এটি ব্যবহার করতে চান তবে '-স্ট্রিক্ট -2' যুক্ত করুন।"


1
এটি এত বেশি সময় নেয় এবং ফলাফল এমপি 4 খুব বিকৃত হয়, পিক্সেল ইত্যাদি হারিয়ে যায় Any কোনও ধারণা কেন এমন হতে পারে? : /
ট্রেইনোসিস

এমপি 4 ফর্ম্যাটের জন্য ডিফল্ট ভিডিও কোডেক অগত্যা নয় mpeg4ffmpeg --help muxer=mp4আমার মেশিনে আউটপুট অনুসারে , ffmpeg h264 এমপি 4 এর ডিফল্ট ভিডিও কোডেক হিসাবে ব্যবহার করে।
ডাবলডাউন

1
@ ডাবলডাউন আমার উত্তরটি পুরানো - ২০১১ থেকে They সম্ভবত তারা তখন থেকেই কোনও সময় ডিফল্টগুলিকে পরিবর্তন করেছিল।
সাশোলাম

43

এই কমান্ডটি পুনরায় কোডিং ছাড়াই কেবল ধারক পরিবর্তন করে

ffmpeg -i input.flv -codec copy output.mp4

আপনি কি একই ফোল্ডারে অনেকগুলি ভিডিওর ব্যাচের রূপান্তরের জন্য কোনও স্ক্রিপ্ট তৈরি করার উপায় জানেন?
টোটাইন

হ্যাঁ, উইন্ডোজে ফাইল কনভার্ট.ব্যাট তৈরি করুন এবং এই কোডটি এতে রাখুন: for %%a in ("*.flv") do ffmpeg -i "%%a" -codec copy "%%~na.mp4"তারপরে, * .flv ফাইলগুলির সাথে ফোল্ডারে রূপান্তর.ব্যাটকে কার্যকর করুন
c97

1
আমার জন্য এটি নিক্ষেপ করে আউটপুট ফাইল # 0 (ভুল কোডেক প্যারামিটার?) এর জন্য শিরোলেখ লিখতে পারেনি: অবৈধ যুক্তি। কোন ধারনা? : /
ট্রেইনোসিস

2
@trainoasis আপনার .flv- এ H.264 ভিডিও এবং AAC অডিও নেই audio -codec copyএকটি এমপি 4 ফাইলের সাথে অচ্ছুত অডিও / ভিডিও ডেটা অনুলিপি করা কেবল খুব বিরল ক্ষেত্রেই কাজ করে যেখানে অডিও এবং ভিডিও ইতিমধ্যে H.264 এবং AAC এর সাথে এনকোড রয়েছে। দেখুন superuser.com/a/1009539/390946 এবং addpipe.com/blog/flv-to-mp4
অক্টাভিয়ান নাইকু

3

avconvএবং ffmpegমূলত একই জিনিস। [খুব সম্প্রতি, কিছুটা বিচ্যুতি রয়েছে, তবে আপনি নিজের লেখার সংকলনটি লিখতে খুব বেশি কিছু নয় ffmpeg[উদাহরণস্বরূপ উবুন্টু রেপোসে প্রদত্ত একটি পুরানো এবং ভিডিওর আকারটি ভুগছে ব্লা ব্লা ব্লাহ চুক্তি নয় [মূলত চেষ্টা করে আপনাকে বলার জন্য ভিডিওটির ভুল অনুপাত রয়েছে], তবে আপনি যদি ffmpegসংকলন গাইডটি পড়তে এবং গিট থেকে এটি সংকলন করতে বিরক্ত করেন তবে এটি বেশিরভাগ ওএসে পুরাতন সংস্করণগুলির স্টক আসে না। অবচয় সতর্কবার্তা উল্লেখ avconvআপনি কহন যে তারা চেষ্টা করুন এবং প্রতিস্থাপন করতে একটি নতুন util তৈরি করেছেন ffmpeg, কিন্তু এটা তাই ব্যাপকভাবে ব্যবহৃত যে এমনকি যদি তারা এটি আমরা থেকে softlinks তৈরি সব করা হবে বিচ্ছিন্ন করার চেষ্টা avconvকরতেffmpeg যাইহোক তারা কাজ বন্ধ করে এড়াতে যাবেন না]]

এটি ব্যবহার করা কোনও খারাপ জিনিস নয় avconv, আমি কেবলমাত্র উত্তরটি হ্রাসের সতর্কতার উল্লেখ করে দেখলাম যা মূলত একটি খালি বার্তা ffpmeg এর বিকল্পের জন্য হওয়া উচিত যা আপনি অ্যাভকানভ চেষ্টা করতে পারেন যা এখানে মামলার ক্ষেত্রে আরও সত্য।

avconv -i inputfile.flv -map 0 -c:v libx264 -c:a copy outputfile.mp4

সত্যিই হিসাবে একই

ffmpeg -i filename.flv -vcodec libvpx -acodec libvorbis

মূলত প্রথমটিতে আপনি সংক্ষিপ্ত হাতের বিকল্পগুলি ব্যবহার করছেন এবং দ্বিতীয়টিতে আরও লিখিতভাবে বিভিন্ন প্রকারের রয়েছে।

ALSO -map 0অডিও ট্র্যাকগুলি উল্লেখ করছে তাই যদি এমন কিছু ব্যবহার করা হয় mp4aযা মাল্টি অডিও ট্র্যাকগুলি পরিচালনা করতে পারে তবে আপনি সমস্ত অডিও স্ট্রিমগুলি ফলাফলের ফাইলে অনুলিপি করতে ছেড়ে দিতে পারেন। এটি কেবলমাত্র যদি কোনও কোডেক ব্যবহার করে যা একই ফাইলে একাধিক অডিও ট্র্যাক সমর্থন করে না তবে আপনি প্রয়োজনীয় অডিওটি মানচিত্র করতে চান এবং সমস্তটি নয়। অবশ্যই যদি স্থানটি কমিয়ে আনার চেষ্টা করা হয় তবে আপনি ফাইলটি থেকে কিছুটা সাইজ কমাতে চেষ্টা করতে পারেন [অডিও সম্ভবত ভিডিও ট্র্যাকের একটি 1/3 আকারের [এবং এটি উদার হচ্ছে]]।

-c:v = codec(video)সুতরাং: -c:v libx264ব্যবহারের মতো: -vcodec libx264এফওয়াইআই; এই উদাহরণের সাথে একই:-c:v copy = -vcodec copy

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

ওয়েব অনুসন্ধানে এটিকে ছুঁড়ে মারার চেষ্টা করা নয় এবং লোকদের জন্য কিছুটা পরিষ্কার করার জন্য সাহায্য করার চেষ্টা করতে চাই।

আবার এই উত্তরটির নীচে উত্তরটির জন্য যেহেতু ffmpeg চলছে তার এই উত্তরটি সর্বদা এই বার্তাটি পোস্ট করবে যে এটি মূলত ফাঁপা কারণ এই 2 টি ব্যবহার খুব কম পার্থক্য সহ এখনও ঠিক একই ব্যবহার। আপনার প্রায় সব ক্ষেত্রেই কমান্ডটি ব্যবহার করে ঠিক একই ফলাফল পাওয়া উচিত। এটি অগত্যা একটি সম্পূর্ণ পুনরায় ট্রান্সকোডের ফলাফল হতে যাচ্ছে না কেন? এ, যদি এটির প্রয়োজন না হয় তবে এটি একটি টন সময় সাশ্রয় করে, এবং খ যদি আপনি কোনও ফাইল পুনরায় ট্রান্সকোড করে থাকেন তবে এটি ইতিমধ্যে সংকুচিত কোন কিছুর বিরুদ্ধে প্রয়োজনীয়ভাবে একটি সংকোচনের রুটিন চালাচ্ছেন যা কোনও ভিডিও কোডেকের মধ্যে ইতিমধ্যে সংকুচিত হয়ে গেছে এবং ফলস্বরূপ হবে উত্স চেয়ে কম মানের। বেশিরভাগ নতুন কোডেকগুলি কিছুটা ক্রস সামঞ্জস্যপূর্ণ [সমস্ত নয়] উদাহরণস্বরূপ একটি ফ্লাভ প্রযুক্তিগতভাবে একটি এফএলভি র‌্যাপারের মধ্যে এমপি 4 হতে পারে কারণ এভিআইয়ের মতো এফএলভিগুলি কেবল অন্যান্য কোডেকের ধারক। সুতরাং, আপনি কী রূপান্তর করছেন এটির তুলনায় এটি একেবারেই ট্রান্সকোড করা দরকার কিনা তার তুলনায় এটি ভিডিওতে সোভাস ফ্ল্যাভ এবং অ্যাসিও কোডেকের জন্য কী রয়েছে তার উপর নির্ভর করে। যদি এফএলভি এর মধ্যে তারা অডিওর জন্য এইচ 264 এমপি 4 ভিডিও এবং এমপি 4 এ ব্যবহার করে তবে আপনাকে কেবল এটি অনুলিপি করতে হবে এবং ফাইল শিরোনামগুলি সামঞ্জস্য করতে হবে তাই এটি এমপি 4 ভিডিওর পরিবর্তে সত্যিকারের এমপি 4 হিসাবে পড়ে একটি এফএলভি ফাইলের ভিতরে।


3

এই গাইড অনুসারে , কোনও এভি রেকর্ডিং ছাড়াই এফএলভিকে এমপি 4 তে রূপান্তর করার উপযুক্ত কমান্ডটি হ'ল:

ffmpeg -i input.flv -c copy -copyts output.mp4

এটি AVC ভিডিও এবং এএসি বা এমপি 3 অডিও সহ সমস্ত ক্ষেত্রে আমার পক্ষে নিখুঁতভাবে কাজ করেছে।


-1

Ffmpeg ব্যবহার করার সময় আমি avconv ব্যবহার করার জন্য অবচয় সতর্কতা পেয়েছি। অ্যাভকনভ ব্যবহার করে আমি ভাল ফলাফল পেয়েছি:

avconv -i inputfile.flv -map 0 -c: v libx264 -c: একটি অনুলিপি আউটপুট ফাইল। এমপি 4

man avconvআরও তথ্যের জন্য পড়ুন ।


1
ffmpegনিজেই হ্রাস করা হয় না । এটি দেখতে দেখতে ভাল কারণ হ'ল আপনি x264 এনকোডার নির্দিষ্ট করেছেন যা মানের জন্য দুর্দান্ত ডিফল্ট সেটিংস রয়েছে।
9:34 এ slhck

-2

আমি আপনাকে video_flv_to_mp4নিম্নলিখিত কন্টেন্ট সহ কল ​​করা একটি শেল স্ক্রিপ্ট তৈরি করার পরামর্শ দিচ্ছি :

ffmpeg -i $1 -sameq -ar 22050 -vcodec libx264 $1.mp4 

তারপরে এটি চালান:

$ video_flv_to_mp4 video.flv

এটি আপনাকে একটি video.flv.mp4 ফাইল দেবে।


4
-sameqffmpeg এর জন্য আর বৈধ বিকল্প নয়। এর অর্থ "একই মানের" নয়। আরও দেখুন এই পোস্টে
slhck
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.