منصوبے کے بارے میں
یہ ریپازٹری FFmpeg کو لائبریری (libav) کے طور پر استعمال کرنا سیکھنے کے لیے ایک تعلیمی ٹیوٹوریل ہے تاکہ ملٹی میڈیا پروگرام بنائے جا سکیں۔ اسے پرانے ناپسندیدہ ٹیوٹوریلز کا جدید متبادل بنایا گیا ہے اور یہ متعدد زبانوں میں دستیاب ہے۔
مضمون میڈیا کی بنیادیات سے شروع ہوتا ہے، ویڈیو، آڈیو، کوڈیکس اور کنٹینرز کے بارے میں وضاحت کرتا ہے۔ پھر FFmpeg کمانڈ لائن ٹول کے استعمال کی تیزی سے تعلیم فراہم کرتا ہے، جس میں عام ویڈیو آپریشنز جیسے ٹرانسکوڈنگ (کوڈیکس تبدیل کرنا)، ٹرانسمکسنگ (کنٹینرز تبدیل کرنا)، ٹرانسر ایٹنگ (بیٹ ریٹس تبدیل کرنا)، ٹرانسسائزنگ (ریزولوشن تبدیل کرنا) اور DASH کے ساتھ ایڈاپٹیو اسٹریمنگ شامل ہیں۔
ریپازٹری کا مرکزی حصہ "Learn FFmpeg libav the Hard Way" سیکشن ہے جو C میں کوڈ وارثروں فراہم کرتا ہے:
- باب 0: ایک "hello world" پروگرام جو میڈیا فائل پڑھتا ہے، میٹا ڈیٹا نکالتا ہے، فریم ڈیکوڈ کرتا ہے اور انہیں گرے تصاویر کے طور پر محفوظ کرتا ہے۔ یہ AVFormatContext، AVStream، AVPacket، AVCodec اور AVFrame جیسے اجزاء سمیت FFmpeg libav آرکیٹیکچر کی وضاحت کرتا ہے۔
- باب 1: آڈیو اور ویڈیو ہم آہنگی کی وضاحت، جس میں پریزنٹیشن ٹائم اسٹیمپس (PTS)، ٹائم بیجز اور ویڈیو پلیئرز فریم رینڈرنگ کی رفتار کیسے ترتیب دیتے ہیں، تفصیل سے بیان کی گئی ہیں۔
- باب 2: ری مکسنگ کوڈ۔
- باب 3: ٹرانسکوڈنگ کوڈ۔
ٹیوٹوریل کمپائی لیئر کے مسائل سے بچنے کے لیے ڈویلپمنٹ اور رنر ماحول کے طور پر Docker استعمال کرتا ہے اور ٹیسٹ ویڈیوز حاصل کرنے اور مثالیں چلانے کے لیے ایک Makefile شامل ہے۔ حالانکہ کوڈ C میں لکھا گیا ہے، مصنف نے نوٹ کیا ہے کہ تصورات Python اور Go جیسی دیگر زبانوں میں FFmpeg بائڈنگز کے ساتھ آسانی سے لاگو کیے جا سکتے ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.