কোন ffmpeg কমান্ড লাইনটি সমস্ত ডিভাইস জুড়ে আরও বেশি সামঞ্জস্যপূর্ণ ভিডিও তৈরি করে?


15

সুতরাং আমি ব্যবহারকারীরা বলছি যে H264 ভিডিও এমপি 4 এর অ্যাপল আইপ্যাডে অডিও খেলতে পারে না এবং অ্যান্ড্রয়েডেও এমপি 4 ভিডিও সঠিকভাবে প্লে করতে আমার লড়াই হয়।

দুটি পৃথক কমান্ড লাইন রয়েছে যা কোন কমান্ড লাইনটি ব্যবহার করা উচিত।

-profile:v baseline -level 3.0

এবং :

-vpre baseline

আমার এমন কোনটি ব্যবহার করা উচিত যা এটি সমস্ত ডিভাইস জুড়ে কাজ করে?

আমি এটিও পড়েছি এটি আমার বর্তমান অডিও বিটরেট অডিও বিটরেট হতে পারে

-ab 192k

সম্ভবত আমি এটি কমিয়ে দেওয়া উচিত

-ab 160k

এমপি 4 ফাইলে এমপি 3 অডিও এনকোড করতে ব্যবহৃত কমান্ড লাইন।

"C:/server/ffmpeg/bin/ffmpeg.exe" -y -i Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/55/ac/fb/54bbf30bb11a0f6b9dc832114c26fd29.mp4 -strict experimental -acodec libmp3lame -ar 44100 -ac 2 -ab 192k -s 480x360 -aspect 16:9 -r 24000/1001 -vcodec libx264 -b:v 1000k -minrate 800k -maxrate 1000k -bufsize 800K -crf 18 -preset veryslow -f mp4 -threads 0 -movflags +faststart Z:/server/websites/ps/public_www/media/com_hwdmediashare/files/55/ac/fb/98382d43d31d4ff91ea44cb2aa1bbc49.mp4 2>&1

উত্তর:


26

প্রথমে আপনার এফএফম্পেগ প্রোফাইল এবং সরাসরি কমান্ডলাইন বিকল্পগুলির মধ্যে পার্থক্য বুঝতে হবে। ffmpeg ইনস্টল করা হয়েছে বা যেখানেই অবস্থিত -vpreএকটি .ffpresetফাইল ব্যবহার /usr/share/ffmpeg/করে। এটি বিকল্প = মান জোড়ার একটি সিরিজ , এবং আপনার ক্ষেত্রে আপনাকে এটি নিজেরাই সংজ্ঞায়িত করতে হবে (কমপক্ষে আমি baselineffmpeg দিয়ে প্রেরিত প্রিসেট জানি না )।

আপনি নিজের তৈরি না করে এবং কমান্ড লাইনের বিকল্পগুলির জন্য কী তা না জানলে আমি প্রিসেটগুলি ব্যবহার করার বিরুদ্ধে সুপারিশ করব। আমি এখন থেকে কয়েক বছর ধরে ffmpeg ব্যবহার করে আসছি, এবং আমি কখনই প্রিসেট ব্যবহার করি না — আমার আসলেই কখনও হয়নি।

বেশিরভাগ ডিভাইসের সাথে সামঞ্জস্যপূর্ণ H.264 ভিডিও তৈরির জন্য একটি সাধারণ কমান্ড লাইনটি হ'ল:

ffmpeg -i <input> \
  -c:v libx264 -crf 23 -profile:v baseline -level 3.0 -pix_fmt yuv420p \
  -c:a aac -ac 2 -b:a 128k \
  -movflags faststart \
  output.mp4

কিছু নোট:

  • এইচ .264 / এএইচএমএল 5-তে একটি বিস্তৃত সমর্থনের জন্য সেরা সমন্বয়। এইচ .264 ডিকোডার নেই এমন ব্রাউজারগুলির অবশ্য একটি ভিপি 8 / ভারবিস ভিডিওও লাগবে। কিছু কমান্ড লাইনের উদাহরণগুলির জন্য, এই উত্তরটি দেখুন । অন্যান্য কোডেকগুলির জন্য উইকিপিডিয়ায় ব্রাউজার সমর্থন পৃষ্ঠাটিও দেখুন ।

  • H.264 এছাড়াও মোবাইল ডিভাইস জুড়ে ভাল কাজ করে।

  • -profile:v baselineএবং -level 3.0বিকল্পগুলি কেবল পুরানো মোবাইল ডিভাইসের জন্য প্রয়োজনীয় যা H.264 এর সিপিইউ-নিবিড় বৈশিষ্ট্যগুলি পরিচালনা করতে পারে না। আপনি সাধারণত এগুলি ছেড়ে বা তার পরিবর্তে ব্যবহার করতে পারেন -profile:v main

  • সিআরএফ মান নির্ধারণ করে (18-28 একটি যুক্তিসঙ্গত পরিসর, নিম্ন মানে আরও ভাল মানের)। আপনি অবশ্যই একটি নির্দিষ্ট বিটরেট এর সাথে -b:v 1000kবা অনুরূপ ব্যবহার করতে পারেন । একটি বিটরেট চয়ন করুন যা ভিডিওর রেজোলিউশনের সাথে মেলে। কিছু স্বল্প-শক্তিযুক্ত ডিভাইস অহেতুক উচ্চ বিটরেট পরিচালনা করতে সক্ষম হতে পারে।

  • -movflags faststartযেহেতু এটি পরিবর্তে ফাইলের শুরুতে ধারক মেটাডেটা চলে আসে শেষে এটা দিয়া বিকল্প, স্ট্রীমিং জন্য অপরিহার্য। এটি পুরোপুরিভাবে লোড হওয়ার জন্য অপেক্ষা না করে প্লেব্যাকটি তত্ক্ষণাত শুরু করার অনুমতি দেবে।

তবে, এটি আপনার লক্ষ্যবস্তু করা সমস্ত ডিভাইসের জন্য সর্বনিম্ন সাধারণ ডিনোমিনেটর সন্ধান করতে নেমে আসে, যা সর্বদা উপস্থিত নাও হতে পারে। অবশ্যই আপনি H.264 এর চেয়ে অন্য কোনও (যেটি আরও খারাপ ) কোডেক ব্যবহার করতে চাইবেন না । প্রকৃতপক্ষে, ক্লায়েন্টদের কাছে বেসলাইন-এনকোডযুক্ত ভিডিও দেওয়া বা বুদ্ধিমানের কাজ হবে না যা মূল বা উচ্চ প্রোফাইল ডিকোড করতে পারে। আপনি হ্রাস ডিকোডিং জটিলতার বিরুদ্ধে মানের বাণিজ্য করবেন।

আমার অভিজ্ঞতা থেকে, অ্যান্ড্রয়েড ডিভাইসগুলি এমপি 4 ধারকটিতে AAC-LC অডিও সহ বেসলাইন H.264 খেলতে পারে। আমার এর সাথে কখনও সমস্যা হয়নি। আসলে, কিছু ডিভাইস উচ্চতর প্রোফাইলগুলি প্লে করতে পারে, যদিও এটি আনুষ্ঠানিকভাবে সমর্থিত নয়। আইওএস সাধারণত বেসলাইন এইচ .264 কে সমর্থন করে তবে আপনি অবশ্যই কয়েকটি ডিভাইসে মূল প্রোফাইল ব্যবহার করতে পারেন। কিছু দিকনির্দেশনার জন্য এই পোস্টটি দেখুন (যা কিছুটা পুরানো)।

আপনার যদি প্লেব্যাক সমস্যাযুক্ত ব্যবহারকারী থাকে তবে আপনার কোন ভিডিওটি সমস্যা সৃষ্টি করছে তা খুঁজে বের করতে হবে এবং তারা কোন হার্ডওয়্যার এবং প্লেয়ার সফ্টওয়্যারটি ব্যবহার করছে সে সম্পর্কে আরও বিশদ পেতে হবে। তারপরে আমরা সেই বিশেষ কেসটির সমস্যা সমাধানের বিষয়ে কথা বলতে পারি।


1
এই জাতীয় বিস্তারিত উত্তরের জন্য ধন্যবাদ আমি এটি পুনরায় পড়তে থাকি :) এছাড়াও আমি -codec libmp3lame -ab 160k দিয়ে এনকোড করেছি এবং আইপ্যাড অ্যাপেল ডিভাইস ব্যবহারকারী ব্যবহারকারীরা বলছেন যে তারা ভিডিওটি দেখতে পারে তবে শব্দ শুনতে পাচ্ছে না তাই আমি ধরে নিই এটির সাথে কিছু করার ছিল অডিও কোডেক বা বিটরেট। অ্যান্ড্রয়েড এবং উইন্ডোজ ব্যবহারকারীরা বলেছেন যে এটি ঠিক আছে এবং ভিডিও স্ট্রিমটিতে তাদের অডিও রয়েছে তাই আমি নিশ্চিত না যে কেন আ্যাকের পরিবর্তে লিম্পপ্লেম ব্যবহার করা আপেল ব্যবহারকারীদের ভিডিওতে অডিও না রাখে।
C0nw0nk

আমি এমপি 4 পাত্রে এমপি 3 অডিও ব্যবহার খুব কমই করেছি। সম্ভবত এএসি নিরাপদ পছন্দ।
স্ল্যাক করুন

ঠিক আছে আমি কেবল এমপি 3 ব্যবহার করছি কারণ আমি বিট_রেট পেতে থাকি, অ্যাকের সাথে প্রস্থের উচ্চতার ত্রুটিগুলি আমি লাইবপ্প 3্লেমে স্যুইচ করেছিলাম এবং এই সমস্ত ত্রুটিগুলি বন্ধ হয়ে যায় এবং তারপরে অ্যাপল ব্যবহারকারীরা বলেন যে তাদের কাছে কোনও অডিও নেই তবে এখনও অন্য সবাই একই ফাইলটি দেখতে পারে এবং এটি শব্দ সহ ঠিক আছে is অন্যান্য সমস্ত ডিভাইসে, সম্ভবত আমি এমন একটি বাগ পেয়েছি যিনি জানেন :( এবং অ্যাপল এমপি 3 অনুসারে ভাল বিকাশকারী
app অ্যাপ্লিকেশন

@ user2068371 এই লিঙ্কটি MPEG-2 পরিবহন প্রবাহকে বোঝায়, MP4 ধারক বিন্যাস নয়।
ইন

1
@ user2068371 আমি মিডিয়াএলটিজেজে কখনও সমস্যায় পড়িনি। H.264 এবং এমপি 3 সমস্ত ব্রাউজারে সমর্থিত নয় । বিশেষত এইচটিএমএল 5 ভিডিওর জন্য, সর্বদা এইচ .264 / এএসি এবং সম্ভবত ভিপি 8 / ভারবিসকে ফলব্যাক হিসাবে ব্যবহার করুন। যদি আপনার AAC রূপান্তর নিয়ে সমস্যা হয় তবে দয়া করে সে সম্পর্কে একটি নতুন প্রশ্ন জিজ্ঞাসা করুন এবং সম্পূর্ণ কমান্ড লাইন আউটপুটও অন্তর্ভুক্ত করার বিষয়টি নিশ্চিত করুন।
slhck
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.