আমি চাই যে আমার ওয়েবসাইটটি ব্যবহারকারীদের আমার সরবরাহ করা উত্স ভিডিও থেকে নির্ভুলভাবে তাদের নিজস্ব ক্লিপগুলি তৈরি করতে দেয়।
আমার কাছে একটি উত্স ভিডিও ফাইল রয়েছে যা আমি প্রথমে কোনও ওয়েবসাইটের জন্য উপযুক্ত কিছুতে রূপান্তর করতে চাই:
Input #0, matroska,webm, from 'source.mkv':
Duration: 00:28:18.57, start: 0.000000, bitrate: 10183 kb/s
Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 48 tbc (default)
Stream #0:1: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s (default)
আমি এ জাতীয় রূপান্তর করতে ffmpeg ব্যবহার করি:
ffmpeg -i source.mkv -c:v libx264 -c:a aac -strict experimental -vf scale="960:-1" source.mp4
এই ভিডিওটি ফিরে দেখানো এটি আমার প্রয়োজনের জন্য যথেষ্ট ভাল মানের এবং ছোট ফাইলের আকার এবং আমার ওয়েবসাইটে লোড / প্লে।
আমার কাছে একটি ওয়েবপৃষ্ঠা রয়েছে যা ব্যবহারকারীদের এই ভিডিওর একটি সূচনা এবং শেষ পয়েন্ট নির্বাচন করতে - এবং একটি ক্লিপ তৈরি করতে দেয়। এখানে ffmpeg কমান্ডের একটি উদাহরণ যা আমি এর জন্য ব্যবহার করি:
-ss 577.920 -i source.mp4 -t 011.980 -codec:v copy -codec:a copy -vf scale="960:-1" clip1.mp4
সমস্যাটি হ'ল ক্লিপটি সর্বদা সময়-সঠিক নয় not সাধারণত অডিও পর্যাপ্ত নির্ভুল হয় তবে ভিডিওটি আধ সেকেন্ড শুরুর দিকে বা কোনও কিছু বন্ধ করে দেয়।
এই সুনির্দিষ্ট এবং ইন সিঙ্ক করার কোনও উপায় কি, এক সেকেন্ডের 0.2?
সম্পাদনা: যোগ করা -force_key_frames 00:00:00.2
সাহায্য করে না।
সম্পাদনা: আমি ক্লিপিংটি ভাল (ইশ) ফলাফলের -c:v libx264 -c:a aac -strict experimental
পরিবর্তে ব্যবহারের জন্য পরিবর্তন করেছি -codec:v copy -codec:a copy
।
ফাইলটি ইস্যু ছাড়াই বাহ্যিকভাবে খেলতে পারে - তবে যখন আমি এটি আমার এইচটিএমএল 5 ভিডিও উপাদানটিতে লোড করি এবং এটি খেলি - তখন ভিডিওর শেষ অংশটি (অডিও ভাল আছে) হিমশীতল। শেষ অংশটি জমা হয় যা দ্বিতীয় সেকেন্ডের চেয়ে কম হয় is
আমি কি অন্য ভিডিও এনকোডার দিয়ে চেষ্টা করব? Libx264 এর জন্য সেরা বিকল্পটি কী? মনে মনে রেখে আমি সম্ভবত এটি একটি পাবলিক ওয়েবসাইটে থাকতে চাই।
তবে স্তব্ধ হোন যে এমপিসি বা উইন্ডোজ মিডিয়া প্লেয়ারের মতো প্লেয়ারকে ইস্যু না করে এটি সঠিকভাবে খেলেছে তা Google Chrome বা এইচটিএমএল ভিডিও উপাদানগুলির সাথে সমস্যা বলে মনে করে না? বা আমি একটি অসমর্থিত এনকোডিং বা কিছু ব্যবহার করছি?