![]()
السلام عليكم ورحمة الله وبركاتُه
ملاحظة مهمة : إقرأوا الصفحة الثانية إبتداءاً من المشاركة رقم 29#
في هذا الموضوع سأشرح بصورة مُبسطة طريقة التعامل مع مصادر الـ ts الموجودة حالياً,
من حيث التعامل مع التداخل+إنتاج الـ VFR
الكثير شاهد شرح ديمون عن التعامل مع المصادر المُتداخلة وكان بإستعمال برنامج الياتا
هذا هو شرحه: (إضغط على skip add بعد إنتهاء العد)
الأخ ما قصر, شرحه وافي, وشرح الكثير من الأمور عن الياتا والتعامل مع المصادر القديمة أيضاً ^^
لكن الكثير إشتكى من كون التعامل مع الياتا صعب قليلاً
همم..برأيي أنا, لا نحتاج الياتا حالياً ^^
في هذا الشرح سنتعامل مع الـ ts بإستعمال:
-1
-2
3-فلاتر Avisynth (معظم ما تُطبقه الياتا هو فلاتر Avisynth طبعاً)
هذه هي الفلاتر المطلوبة (رُبما لن نحتاج بعضها)
ما سنفعلُهُ هو تطبيق عملية (IVTC (Inverse Telecine
عملية IVTC : عملية إعادة المصدر من 30fps إلى 24fps وإزالة الحقول التي تمت إضافتها بعملية الـ Telecine
وهنا شرح مُفصل عن الـ Telecine وكيفية حدوثها
وسبب وجود هذه العملية: (إقرأ فقرة History of telecine)
التداخل الذي نراه في مصادر الـ ts يكون هكذا (شيء مُشابه لهذه الصورة) : (Interlaced)
[IMG]http://www.**********/lives6/13248189731.jpg[/IMG]
وعندما نقوم بمعالجة التداخل تصبح لدينا صورة جميلة ^^, كهذه خخخ: (Progressive)
[IMG]http://www.**********/lives6/13248189732.jpg[/IMG]
----------------------------------
أول شيء سنفعلهُ هو فتح هذا البرنامج: DGIndex
سيُساعدنا في تحديد موقع كُل فريم موجود في المصدر المُدخل عن طريق إنشاء Index تتضمن هذه المعلومات
ومعلومات أُخرى أيضاً, كما أنه يُساعد في ضبط بعض الإعدادات في المصدر (لن نتطرق لها)
أولاً نفتح البرنامج
وبعدها نقوم بإختيار المصدر
File>Open>OK
الآن نتأكد من هذا الخيار: (نضع عليه علامة صح, إن لم يكُن مُحدداً بالأصل)
Video>Field Operation>Honor Pulldown Flags
الآن نقوم بحفظ المشروع:
File>Save Project
ثم نغلق البرنامج
سيتم تكوين هذا المشروع بصيغة d2v
الآن نقوم بوضع الفلاتر التي قمنا بتحميلها, في مجلد الـ Plugins الخاص بالـ Avisynth
ثم نفتح برنامج AvsP
ونكتب التالي: (حدد حرف القرص والمسار)
نضغط على F5 أو Video>Refresh previewكود الـ PHP:DGDecode_MPEG2Source("X:\path\index.d2v")
وسنُشاهد المشروع الذي عملناه للمصدر
مثال:
[IMG]http://www.**********/lives6/13248076241.jpg[/IMG]
والآن نقوم بقص الإعلانات وأي شيء لا يشمل حلقة الأنمي
ولتسهيل عملية القص سنستعمل أداة بسيطة في برنامج الـ AvsP
Video>Trim selection editor>Show trim selection editor
الصورة تشرح نفسها(تصاميم خُرااافية, صح ؟ XDD)
[IMG]http://www.**********/lives6/13248077421.jpg[/IMG]
وهذه صورة بعد القص:
[IMG]http://www.**********/lives6/13248079491.jpg[/IMG]
سهلة ^^
هُناك أداة بسيطة أيضاً لعمل crop لكن نادراً ما سنحتاجها
Video>Crop editor
نضيف الآن هذا السطر:
هذا الفلتر هو الي راح يعالج التداخلكود الـ PHP:AnimeIVTC(mode=1,aa=2)
الآن يجب أن نستخرج ملف التايم كودز من أجل الـ VFR وهناك أكثر من طريقة
الأولى
ضع هذا السطر:
إضغط على F5 أو Refresh preview وستظهر نافذة صغيرة, تحتوي على الوقت المستغرق والمتبقي والمجموع لإستخراج ملف التايم كودزكود الـ PHP:Decomb521VFR_Decimate_Decimate(mode=4, threshold=1.0, progress=true, timecodes="timecodes.txt", vfrstats="stats.txt")
بهذه الطريقة نستطيع إستخراج ملف التايم كودز في passـ1
وبعدها غير الأبعاد إلى 1280x720 وضع ما تُريد من فلاتر وإحفظ السكربت وإبدأ الإنتاج
سيُصبح لديك سكربت مُشابه لهذا:
====================كود الـ PHP:DGDecode_mpeg2source("X:\path\index.d2v")
trim(195,295)+trim(350,500)
AnimeIvtc(mode=1,aa=2)
Decomb521VFR_Decimate_Decimate(mode=4, threshold=1.0, progress=true, timecodes="timecodes.txt", vfrstats="stats.txt")
spline64resize(1280,720)
#other filters here
الثانية
همم..أنا أُفضل هذه الطريقة
نضيف التالي:
ستظهر نافذة صغيرة أيضاً, نفس الطريقة السابقةكود الـ PHP:TFM(mode=1,output="tfm.txt")
TDecimate(mode=4,output="stats.txt")
Decimate(mode=4,vfrstats="vfrstats.txt")
وبعد الإنتهاء, يجب أن تغلق الـ AvsPmod (خطوة ظرورية ^^")
وسترى ملفين نصيين بنفس مجلد المصدر الي إستعملته, هما tfm و stats
إفتح الآن سكربت الـ avs وإحذف هالأسطر الثلاث إلي ضفناهم بالخطوة السابقة
وأضف هذا مكانهم:
وبعدها غير الأبعاد إلى 1280x720 وضع ما تُريد من فلاتركود الـ PHP:TFM(mode=1)
TDecimate(mode=5,hybrid=2,dupthresh=1.0,input="stats.txt",tfmin="tfm.txt",mkvout="timecodes.txt")
وإحفظ السكربت, وإبدأ الإنتاج وبدون أن تحدد الفريم ريت (fps--)
سيُصبح لديك سكربت مُشابه لهذا:
=======كود الـ PHP:DGDecode_mpeg2source("X:\path\index.d2v")
trim(195,295)+trim(350,500)
AnimeIvtc(mode=1,aa=2)
TFM(mode=1)
TDecimate(mode=5,hybrid=2,dupthresh=1.0,input="stats.txt",tfmin="tfm.txt",mkvout="timecodes.txt")
spline64resize(1280,720)
#other filters here
وهذا موضوع كبير عن الـ VFR: موجودة فيه الطريقتين الي ذكرتهم.
في الطريقة الأولى, إذا لم ينجح Decomb521VFR_Decimate_Decimate
ضع مكانها Decomb521VFR_Decimate
و مذكور بطريقة الـ pass modeـ2 أنك تستعمل الفيرتوال دب
لكن لا داعي له إذا أضفنا السطر الثالث
لأنه يستعمل الفيرتوال دب من أجل المرور على جميع فريمات المصدر, للحصول على الـ metrics والـ matches من أجل إستخراج ملف
التايم كودز النهائي
وعندما نضيف السطر الثالث, سيمر على جميع الفريمات بشكل طبيعي أيضاً ^^
توجد طُرق أُخرى أيضاً مُشابهة لهاتين الطريقتين لحدٍ ما, لكن سنكتفي بهما @_@
================
بقي شيء أخير يجب أن تعلمه عن طريقة الـ pass modeـ2 إلي تخص الـ VFR
وهي في حالة الـ 10 بت
لأنك إذا أنتجت 10 بت لازم تحدد الفريم ريت, وإذا ما حددته راح يتحول معدل الفريمات (fps) إلى 25 بشكل تلقائي -_-
يعني لازم نحدد الفريم ريت, لكن ما راح نحدده 23.976 !! لأنه راح يخرب إنتاجنا ^^"
( بعد ما نضيف التايم كودز, راح نتفاجئ أن العرض أبطأ قليلاً! وأن مدة الحلقة زادت كم دقيقة!)
لهذا يجب أن نحدد معدل الفريمات الي يضعه لنا فلتر الـ TFM والـ TDecimate (اللذان أضفناهم بعد إستخراج tfm و stats)
هذا مثال:
[IMG]http://www.**********/lives6/13248161271.jpg[/IMG]
بعد ما إستخرجت ملفي الـ tfm والـ stats, حذفت أوامر إستخراجهم من السكربت وأضفت السطرين الآخرين (مثل ما موجود بالشرح)
راح نشوف أن معدل الفريمات قد تغير وهو مكتوب بالأسفل (محدد باللون الأحمر خخخ)
نُضيف هذا المعدل إلى إعدادات الإنكودر x264 بصورة إعتيادية ^^ (fps 21.668--)
طبعاً مُعدل الفريمات هذا هو مُجرد مثال, يعني أكيد راح يطلع لك غيره
إلي عليك, تشوف معدل الفريمات الي راح يطلع جوة بالـ AvsPmod وتنقله إلى أمر تحديد معدل الفريمات في إعدادات الإنكودر x264
===================
يقى أخير شيء
الصوت ^^ (للعلم: يُنصح بإنتاج الصوت في البداية @_@, لكن لنُكمل بأي حال -_-)
بعد ما أنتجنا الفيديو وإستخرجنا الـ Timecodes بقى علينا إنتاج الصوت فقط ^^
يمكن إنتاج الصوت عن طريق نفس السكربت, لكن مع تغيير بسيط وهو أننا سنُدخل الـ Ts مُباشرة ولن نُدخل ملف d2v
لأن الـ DGIndex لا يستورد إلا الفيديو, فلن نستفيد من ملف الـ d2v
نُضيف هذا السطر بدل السطر إلي إستوردنا فيه ملف الـ d2v: (حدد حرف القرص والمسار)
مُلاحظة: أزل كُل شيء فعلته يتعلق بالـ vfr لأننا لن نحتاجهكود الـ PHP:ffmpegsource2("X:\path\source.ts", atrack=-1)
والآن نضغط على F5 أو Refresh preview
همم.. سنُشاهد أنهُ قد حدث خلل بسيط في القص (Trim)
سنُشاهد أن القص قد تأخر بعدد بسيط من الفريمات (يعني سنُشاهد جزؤ من الدعايات غير مقصوص)
والحل بسيط ^^
كُل ما نفعله هو أن نعود للفريم 0, ونتقدم بزر الكيبورد (→) كم خطوة ^^
إلى أن نصل إلى أول فريم يبدأ فيه الأنمي (وهو الفريم الي بدأنا منه القص في مرحلة إنتاج الفيديو)
ونقوم بإضافة الرقم الي وصلنا له (فريم البداية لحلقة الأنمي) إلى جميع قيم الـ trim,
حتى يتزامن الفيديو مع الصوت (أشبه بالـ shift time في الـ Aegisub ^^)
مثال: (خخخ عملية جمع بسيطة)
[IMG]http://www.**********/lives6/13248175401.jpg[/IMG]
ثم نحفظ السكربت وننتج الصوت بأي طريقة نُريدها لإنتاج الصوت (avs2pipe, Virtual Dub, MeGUI, إلــــــــــخ...)
وبعد الإنتهاء, نستعمل برنامج لدمج الفيديو والصوت وإضافة التايم كودز
كما في الصورة:
[IMG]http://www.**********/lives6/13248987001.jpg[/IMG]
---------------------------------------------
وهُنا ينتهي هذا الشرح المُبسط ^_^
أتمنى أن يكون الشرح وافي وسهل
هُنا في هذا الرابط ts بحجم صغير نسبــيـــــــاً @_@
حاولوا تجربوا عليه
في أمان الله





(تصاميم خُرااافية, صح ؟ XDD)
)
)
اضافة رد مع اقتباس














المفضلات