উত্তর:
এটি আপনার @ আবরাহাবের সর্বশেষ মন্তব্যের জবাব।
mp4boxএটিকে এনজিনেক্সের মাধ্যমে সিউডো স্ট্রিম করতে সক্ষম হওয়ার জন্য আপনার কোনও ফাইলের দরকার নেই । এমওপি 4 স্ট্রিমিং মডিউলটি মুভ পরমাণুর অবস্থান নির্বিশেষে এটি যত্ন নেয় ( mp4boxমুভ পরমাণুকে ফাইলের শুরুতে স্থানান্তরিত করে)।
এখন 500 টি সার্ভার ত্রুটির জন্য, আপনি কি এমপি 4বক্সের সাথে "-ফ্রেগ" বিকল্পটি ব্যবহার করছেন? এমপি 4 স্ট্রিমিং মডিউল খণ্ডিত এমপি 4 ফাইলগুলি পড়তে পারে না। mp4boxসিউডো স্ট্রিমিংয়ের জন্য ভাল ব্যবহার হ'ল ভিডিওগুলি আরও ভাল অনুসন্ধানের জন্য অন্তর্নিহিত করা। মুভ পরমাণু স্থানান্তর একটি অতিরিক্ত সুবিধা।
আমি সবসময় mp4boxএফএফএমপিগ-এনকোডযুক্ত ফাইলটিতে এটি করি
MP4Box -add MyVideo.mp4 -isma Myvideo-box.mp4
এটি এমপি 4 ফাইলটি ডিফল্টরূপে 500 মিলিসেকেন্ড খণ্ডে ইন্টারলিভ করবে।
সাধারণত, আপনি এমপি 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 কোডার) ছাড়াই কোড করে থাকে সমস্ত কাজের ফাইল (তবে গুণমান! অসুস্থ!) :( (দুঃখিত, এখন আপনাকে উত্তর দেওয়ার অনুমতি নেই)
-movflags faststartআমার যা প্রয়োজন ঠিক তার জন্য +1
এটি করে আপনি সবকিছুকে পুনরায় এনকোডিং না করেই কেবল স্ট্রিমযোগ্য এভিআই বা এমপি 4 রূপান্তর করতে পারেন:
ffmpeg -i INPUT.mp4 -c copy -movflags faststart STREAMABLE_OUTPUT.mp4
কোনও কিছুর পুনরায় এনকোড করার দরকার নেই, কারণ কেবল মুভ পরমাণু স্থানান্তরিত করতে হবে।
আপনি 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"
-acodec pcm_s16le(ত্রুটি Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument:) দিয়েও কাজ করে না । আইইটিএফ খসড়ার মতো একটি ভাল কারণ কেন এই পরামিতিগুলি সঠিকভাবে চয়ন করতে পারে তা মনে হচ্ছে না।
MP4Box -isma -inter 500 Myvideo.mp4