এইচটিটিপি স্ট্রিমিংয়ের জন্য প্রস্তুত এমপি 4 ভিডিও তৈরি করা


25

আমি কিভাবে রূপান্তর করতে পারেন some.flvবা some.aviবা some.wmvFFmpeg সঙ্গে নিশ্চিত যে এই ভিডিওটি JW প্লেয়ার প্লে করার যোগ্য এবং seekable হতে হবে হতে হবে?

উত্তর:


9

এটি আপনার @ আবরাহাবের সর্বশেষ মন্তব্যের জবাব।

mp4boxএটিকে এনজিনেক্সের মাধ্যমে সিউডো স্ট্রিম করতে সক্ষম হওয়ার জন্য আপনার কোনও ফাইলের দরকার নেই । এমওপি 4 স্ট্রিমিং মডিউলটি মুভ পরমাণুর অবস্থান নির্বিশেষে এটি যত্ন নেয় ( mp4boxমুভ পরমাণুকে ফাইলের শুরুতে স্থানান্তরিত করে)।


এখন 500 টি সার্ভার ত্রুটির জন্য, আপনি কি এমপি 4বক্সের সাথে "-ফ্রেগ" বিকল্পটি ব্যবহার করছেন? এমপি 4 স্ট্রিমিং মডিউল খণ্ডিত এমপি 4 ফাইলগুলি পড়তে পারে না। mp4boxসিউডো স্ট্রিমিংয়ের জন্য ভাল ব্যবহার হ'ল ভিডিওগুলি আরও ভাল অনুসন্ধানের জন্য অন্তর্নিহিত করা। মুভ পরমাণু স্থানান্তর একটি অতিরিক্ত সুবিধা।

আমি সবসময় mp4boxএফএফএমপিগ-এনকোডযুক্ত ফাইলটিতে এটি করি

MP4Box -add MyVideo.mp4 -isma Myvideo-box.mp4

এটি এমপি 4 ফাইলটি ডিফল্টরূপে 500 মিলিসেকেন্ড খণ্ডে ইন্টারলিভ করবে।


1
একটি নতুন ফাইল তৈরি না করেই "ইন-প্লেস" ফাইলটি ইন্টারলিভিং করতে সরাসরি ব্যবহার করুনMP4Box -isma -inter 500 Myvideo.mp4
ভিনিট

45

এমপি 4 এ এইচ .264

সাধারণত, আপনি এমপি 4 ধারকটির মধ্যে x264 ভিডিও তৈরি করতে চান। এই বিকল্পটি মূলত কোনও ডিভাইস এবং ব্রাউজার দ্বারা সমর্থিত।

নিম্নলিখিত যথেষ্ট হতে হবে। ইনপুট নাম এবং সিআরএফ বিকল্পগুলি প্রতিস্থাপন নিশ্চিত করুন Make দ্বিতীয়টি মান নির্ধারণ করে, যেখানে বুদ্ধিমান মানগুলি 19 থেকে 25 পর্যন্ত থাকে - নিম্ন মানে উন্নত মানের, তবে উচ্চতর বিটরেট:

ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -movflags faststart output.mp4

আপনি জিইআইআই উপায় পছন্দ করলে এনকোডিংয়ের জন্য হ্যান্ডব্রেক ব্যবহার করতে পারেন।

faststartবিকল্পটি ব্যবহার করে

এখন, আপনাকে যা করতে হবে তা হ'ল এমপি 4 ধারকের এমওওভি পরমাণুকে শুরুতে নিয়ে যাওয়া। এই পরমাণু (সংক্ষেপে, MP4 ধারক মধ্যে ডেটার একক) ভিডিও / অডিও স্ট্রিমগুলি নিজের সম্পর্কে গুরুত্বপূর্ণ মেটাডেটা ধারণ করবে। -movflags faststartঠিক তাই করা উচিত।

আপনার FFmpeg সংস্করণে এই বিকল্পটি না থাকলে আপগ্রেড করার বিষয়টি বিবেচনা করুন। আপনি যদি আপগ্রেড করতে না পারেন তবে নীচের যে কোনও সরঞ্জাম দিয়ে আপনি একই জিনিস অর্জন করতে পারেন:

  • কিউটিআইএনডিএক্স স্বেপার , একটি অ্যাডোব আকাশ অ্যাপ্লিকেশন

  • এমপি 4বক্স , ফ্রি এবং ওপেন সোর্স, নিম্নলিখিতগুলির অনুরূপ একটি কমান্ড চালাচ্ছে, যেখানে আপনি অন্তর পরিবর্তন করতে পারবেন (এখানে, 500):

    mp4box -inter 500 input.mp4

  • পাইথনে qt-faststart , যেখানে পাইথন ইনস্টল করা আছে সেখানে সর্বত্র কাজ করে।

    qtfaststart input.mp4

এটা সম্বন্ধে.

বিটরেট / গুণ নিয়ন্ত্রণ করা

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

উদাহরণস্বরূপ, -maxrate 2M -bufsize 2Mএনকোডিং বিকল্পগুলিতে যুক্ত করে, আপনি এনকোডিংটি 2 এমবিট / সেটে ক্যাপ করেন, যা 720p ভিডিওর পক্ষে পর্যাপ্ত হতে পারে। প্রয়োজনীয় বিটরেট অবশ্যই নির্ভর করবে বিষয়বস্তুটি কতটা জটিল। এটি কিছু ট্রায়াল এবং ত্রুটি নেয়।


ধন্যবাদ, আমি একইভাবে করি, তবে ভিডিওটি নিয়ে এখনও সমস্যাটি দেখা যাচ্ছে :( আমি ffmpeg -i 1.flv -vcodec libx264 -f mp4 -an -g 1 -f mp4 -g 30 -level 3 new.mp4তখনই করি mp4boxএবং এমপি 4 500 internal server errorআরও বেশি প্যারামিটারের জন্য এনগিনেক্স রিপোর্ট চাইতে এবং এনগিনেক্স করতে পারি না 0when যখন ভিডিওটি -vcoded libx264(ডিফল্ট এমপি 4 কোডার) ছাড়াই কোড করে থাকে সমস্ত কাজের ফাইল (তবে গুণমান! অসুস্থ!) :( (দুঃখিত, এখন আপনাকে উত্তর দেওয়ার অনুমতি নেই)
আব্রাহাব

এটি কোনও ভিডিও রূপান্তর সমস্যার চেয়ে NginX- এর সাথে h.264 প্লাগইন সমস্যার মতো মনে হচ্ছে। আমি প্রতি সেমে ওয়েব ভিডিও স্ট্রিমিংয়ের বিশেষজ্ঞ নই , তবে আমি দেখতে পাচ্ছি যে আপনি ইতিমধ্যে স্ট্যাক ওভারফ্লোতে এই সম্পর্কে জিজ্ঞাসা করেছেন? stackoverflow.com/questions/11079748/...
slhck

আমি আরও ভাবছি যে সম্ভবত এনগিনেক্স এই ভিডিও ফর্ম্যাটটি সঠিকভাবে পড়তে পারে না। ইউটিউব থেকে ভিডিও ভাল প্লে হয়। হ্যাঁ, আমাকে এনজিনেক্স ইস্যু সম্পর্কে স্ট্যাকের বিষয়ে জিজ্ঞাসা করা হয়েছে, তবে কোনও উত্তর বলে মনে হচ্ছে না। :(
আবরাহাব

3
-movflags faststartআমার যা প্রয়োজন ঠিক তার জন্য +1
এন্ড্রু

লিঙ্কটি মারা গেছে,
ওয়েব.আরচিভ.আর.ও

5

এটি করে আপনি সবকিছুকে পুনরায় এনকোডিং না করেই কেবল স্ট্রিমযোগ্য এভিআই বা এমপি 4 রূপান্তর করতে পারেন:

ffmpeg -i INPUT.mp4 -c copy -movflags faststart STREAMABLE_OUTPUT.mp4

কোনও কিছুর পুনরায় এনকোড করার দরকার নেই, কারণ কেবল মুভ পরমাণু স্থানান্তরিত করতে হবে।


-1

আপনি ffmpeg দিয়ে এটি চেষ্টা করতে পারেন:

ffmpeg.exe -i "INPUT_FILE.AVI" -threads 2 -s 800x600 -r 25.00 -threads 1 -pix_fmt yuv420p -g 300 -qmin 3 -b 2048k -async 1 -acodec pcm_s16le -ar 22050 -ac 1 -ab 128k -y "OUTPUT_FILE.mp4"

5
ইন্টারনেট স্ট্রিমিং ভিডিওর জন্য 22 কেএইচজেড পিসিএম স্টেরিও অডিও? খুব দক্ষ শোনাচ্ছে না। এবং কেন আপনি তখন অডিও বিটরেটটিকে 128 কে সেট করবেন?

@ এসএলএইচইচকি, আপনি "আর 44100" দিয়ে "-ar 22050" এর পরিবর্তে 22 কে 44 কে পরিবর্তন করতে পারবেন
সেরুশ

1
@ SEARAS সমস্যাটি স্যাম্পলিং হার নয়। এটি অডিওটি পিসিএম স্টেরিওকে সঙ্কুচিত করার বিষয়টি সত্য। ইন্টারনেট স্ট্রিমিংয়ের জন্য। এটি চিত্রিত হয় না।
slhck

এই উত্তরটি খুব নিম্নমানের এবং এটি সরানো উচিত। প্যারামিটারগুলি সামগ্রীর ফ্রেমরেট, ভিডিও রেজোলিউশন এবং অডিও স্যাম্পলিং হার পরিবর্তন করতে পারে এবং অদক্ষ বা নিম্ন মানের ফলাফল তৈরি করতে পারে (ffmpeg নিজেই নিরাপদ বা আরও ভাল পরামিতি চয়ন করতে পারে)। পারফরম্যান্সটি কম থ্রেডের সীমাবদ্ধতায় পঙ্গু হয়ে গেছে এবং এমনকি এটি -acodec pcm_s16le(ত্রুটি Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument:) দিয়েও কাজ করে না । আইইটিএফ খসড়ার মতো একটি ভাল কারণ কেন এই পরামিতিগুলি সঠিকভাবে চয়ন করতে পারে তা মনে হচ্ছে না।
LiveWireBT
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.