[i ┐( ̄ー ̄)┌ i] الإنتاج بسرعة فريمات متغيرة VFR

[ أكاديمية الترجمة ]


النتائج 21 إلى 40 من 63

مشاهدة المواضيع

  1. #1

    الصورة الرمزية ElPsy

    تاريخ التسجيل
    Jan 2010
    المـشـــاركــات
    1,307
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:

    افتراضي [i ┐( ̄ー ̄)┌ i] الإنتاج بسرعة فريمات متغيرة VFR

    السلام عليكم ورحمة الله وبركاته

    همم، في البداية أود القول إنني كتبت هذا الدرس بعد أن علمت بأن خام ون بيس vfr فقلت في نفسي فلأكتب شيئاً يساعد معشر ون بيس رغم أنني لا أتابع هذا الأنيمي. لكن الأمر تطور وصار موضوعاً عاماً حول سرعة الفريمات؛ الميدان الذي يحير عنده أغلب المنتجين. إلى الموضوع دون أي إطالة,

    ملاحظة: حين أقول 24 فأنا أقصد 23.976 وحين أقول 30 فأنا أقصد 29.70


    CFR (Constant Frame Rate)i
    نمط سرعة الفريمات التي تحصل عليها في فيديو تكون سرعة جميع فريماته متساوية. يعني الفرق الزمني بين جميع الفريمات يبقى ثابتاً على طول الفيديو.
    VFR (Variable Frame Rate)i
    نمط سرعة الفريمات التي تحصل عليها في أي فيديو لا ينطبق عليه التعريف السابق.
    VFRaC (Variable Frame Rate assumed Constant)i
    سرعة الفريمات الثابتة التي تجدها في فيديو كان vfr وتحول إلى cfr مع المحافظة على عدد فريماته وترتيبها.
    Timestamps
    أي فريم في أي فيديو عنده توقيتان: توقيت استخراجه من ملف الفيديو وتوقيت عرضه على الشاشة. ما يهمنا هنا هو توقيت عرضه على الشاشة وهو ما يسمى Presentation TimeStamp أو Timestamp بكل اختصار. في فيديو cfr يكون الفرق بين الـ Timestamp الخاصة بأي فريمين متتاليين ثابتاً أما في الـ vfr فيكون مختلفاً.
    Timecode
    ملف نصي يمكن استخراجه من الفيديو ويحتوي على جميع الـ Timestamp الخاصة بفريماته. هناك طريقتان لعرض هذا الملف:
    الطريقة الأولى v1
    كود:
    # timecode format v1
    Assume 23.976
    45,84,29.9681
    109,249,29.9681
    السطر الذي يحتوي على Assume يحدد سرعة فريمات يُعتقد أن الفيديو يعمل عليها.
    الأسطر الأخرى تحدد المقاطع التي تعمل على سرعة فريمات مختلفة عما بعد Assume.
    الطريقة الثانية v2

    كود:
    # timecode format v2 0.000000
    42.000000
    83.000000
    125.000000
    167.000000
    208.000000
    250.000000 292.000000
    333.000000 375.000000 .......

    كل سطر يحدد توقيت ظهور الفريم المقابل له في الترتيب. يعني إن كان لديك 150000 فريم فستحصل على 150000 سطر.

    ملاحظة: لا تستعملوا v1 سوى للتعرف على حقيقة ما يحدث داخل الفيديو وتحديد أماكن تغير سرعة الفريمات. أما دمج فيُستعمل لأجله الـ v2

    120 FPS

    كثير من خامات الأنيمي القديم تكون بصيغة avi لأن في قديم الزمان لم يكن يكن هناك حاويات متقدمة مثل mp4 أو متقدمة جداً مثل mkv. المشكلة هنا أن حاوي avi لا يدعم سرعة الفريمات المتغيرة. لهذا السبب يغير موفرو الراو اليابانيون إلى سرعة 120 fps (بشكل أكثر دقة هي 1001/120000) إذا كانت الحلقة vfr لأن هذه القيمة تساعد على الحفاظ على تغير سرعة الفريمات.
    كيف؟
    120 = 24×5 = 30×4 (مع العلم أن 24 و30 هي قيم سرعة الفريمات المنتشرة في خامات الأنيمي الياباني، هناك 25 و50 أيضاً لكن ليس في اليابان)
    فحين يكون لدينا مقطع سرعة فريماته 24 نضيف لكل فريم 4 فريمات فارغة لا تحتوي على أي بيانات تسمى NULL وحين يكون لدينا مقطع سرعة فريماته 30 نضيف لكل فريم 3 فريمات NULL.


    FPS & Avisynth & Fun
    أي تغيير في سرعة الفريمات ينتج عنه إما تغيير لعدد الفريمات أو تغيير لمدة الفيديو. سنتحدث هنا عن بعض الأوامر الخاصة بالـ avisynth والتي لها علاقة بسرعة الفريمات:
    AssumeFPS
    يغيرسرعة الفريمات عبر تغيير مدة الفيديو ويحافظ على عدد الفريمات. يعني بكل بساطة، يجعل عرض الفيديو إما أسرع أو أبطئ.
    ChangeFPS
    يغير سرعة الفريمات عبر إضافة (عن طريق الاستنساخ) أو حذف عدد من الفريمات دون التأثير على مدة الفيديو.
    ConvertFPS
    يغير سرعة الفريمات عن طريق دمج فريمات. بدل الاستنساخ، تدمج فريمات متجاورة لتتكون فريمات جديدة وتحذف أخرى. هذا الأمر لا يغير مدة الفيديو.
    SelectEvery
    يحدد الفريمات التي سيقع إنتاجها من ضمن كل مجموعة فريمات. ما تحتاج معرفته حوله هو أنه عندما يكون لديك 120fps تستعمل selecevery(4)i للحصول على المقاطع ذات سرعة 29.70 و selectevery(5)i للحصول على المقاطع ذات سرعة 23.976
    هناك فلاتر الـ Decimation أيضاً، لكنني لن أتحدث عنهم هنا والآن، ربما إن خطر لي كتابة موضوع عن الـ IVTC

    -----

    أمر مهم يجب أن نعلمه، الترجمة والصوت كلٌّ منها له timestamps خاص به وكل منها يسبح وحده في برِّه الخاص به والمنفصل عن بر الفيديو. فمثلاً، تتر الترجمة يظهر في اللحظة 0:06:12.721 ويصدر صوت انفجار في اللحظة 0:03:43.49 وكلاهما منفصلين عن الفيديو
    الآن، إن أردت تحويل فيديو VFR إلى CFR فإن الصوت والترجمة لن تكونا متزامنتين مع المشاهد.
    سأطرح هنا الحل الأفضل لهذه المشكلة: إنتاج فيديو VFR


    استخراج ملف التايم كود
    هناك طرق عديدة لفعل هذا، سأطرح بعضها:

    ffms2: استدع الفيديو بواسطة هذا الأمر داخل برنامجAvsP:
    كود:
    import("x:\yzt\ffms2.avsi")i
    ffmpegsource2("vfr raw.mkv",timecodes="tcfile.txt")
    ثم اضغط F5 وستجد ملف الـ timecodes باسم tcfile.txt
    mkv2vfr: نصب haali matroska splitter ثم افتح prompt window واتجه إلى C:\Program Files\Haali\MatroskaSplitter واكتب الأمر التالي:
    كود:
    mkv2vfr "My vfr raw.mkv" "output.avi" "tcfile.txt"
    ستجد ملف الـ timecodes باسم tcfile.txt، أما output.avi فيمكنك تجاهله ...
    aegisub: هذه الطريقة لا تنفع إلا إذا كان لديك ملف فيديو في حاوي mkv. افتح الفيديو من الـ mkv ثم video--> save timecodes file واحفظ الملف بصيغة txt
    + تأكد من أنك تستخدم آخر إصدار للإيجي سب.


    ملاحظة: ملفات التايم كود من نوع v2 يصعب فهمها لذا نحولها إلى v1 عادة. كيفية التحويل مشروحة في فقرة VFR & 120FPS avi في نهاية الموضوع

    VFR & softsubs
    إن كنت تنتج سوفت سب بالكامل (يعني كل شيء سوفت حتى التايب) فأنتج كالعادة، المهم أن تتأكد من استخدام فلتر ffms2 لاستدعاء الفيديو عند الإنتاج(للحصول على جميع الفريمات وبالترتيب الأصلي، عكس DirecShowSource المتخلف).
    استعمال فلتر ffms2 يكون على هذا الشكل:

    loadplugin("x:\yzt\ffms2.dll")i
    audio=FFAudioSource("x:\blah\lol.mp4")
    ii
    video=FFVideoSource("x:\blah\lol.mp4")
    i
    AudioDub(video,audio)
    i

    ثم حين تدمج ملف الترجمة:
    افتح الـ
    mkvmerge واستدع كل شيء (الفيديو، الصوت، الترجمة...) بواسطة add
    ثم حدد track الفيديو ومن Timecodes في الأسفل أدخل مسار tcfile.txt
    ادمج كل شيء وستجد الترجمة والصوت متزامنتين مع الفيديو.
    صورة توضيحية للخطوة الأخيرة:





    أما إذا كان عندك أشياء هارد سب تريد حرقها مع الفيديو (كارا أو تايبست) فاقرأ الفقرة التالية.




    VFR & arachaic hardsubs

    هذه الفقرة تنطبق على من ينتج التايبست هارد والترجمة سوفت كما تنطبق على من لا يزال ينتج كل شيء هاردسب في 2011.
    إن كان الراو الذي تعمل عليه (وورك راو أو أياً كان) بصيغة mkv فلا حاجة لاستدعاء ملف timecodes داخل الإيجي. أما إن لم تكن الحال هكذا فيجب استدعاء ملف التايم كود الذي استخرجته من video --> Open Timecodes file
    اعمل التايب أو الكارا وما تشاء ثم حين تنهي العمل بالإيجي اذهب إلى file --> export subtitles وستظهر لك هذه النافذة:




    حدد Transform Framerate ثم تأكد من اختيار Variable كما هو موضح في الصورة. لا تعبث بأي شيء آخر ^^ ثم اضغط على Export

    معلومات أخرى بالإنكليزية هنا: http://docs.aegisub.org/manual/Video...ramerate_video

    VFR & MP4
    1 حمل هذا البرنامج ونصبه:
    http://strawberryperl.com/
    2 حمل هذا الملف وفك الضغط في الملف C:\strawberry\perl\bin
    3 انسخ الحلقة الـ vfr وملف التايم كودز الذي اسخرجته في نفس المسار
    4 افتح prompt window وتوجه إلى المسار السابق بواسطة:

    كود:
    cd C:\strawberry\perl\bin
    5 اكتب ما يلي في الـ cli :

    كود:
    perl tc2mp4 -i VFRaC-file.mp4 -t timecode.txt -o vfr-file.mp4


    VFRaC-file.mp4: هو ملف الفيديو الذي كان vfr وحين أنتجته بالـ avisynth وباستعمال فلتر ffms2 صار cfr لكن مع المحافظة على جميع الفريمات وترتيبها
    timecode.txt: ملف التايم كود الذي استخرجته من الراو ذو سرعة الفريمات المتغيرة.

    vfr-file.mp4 :الحلقة ذات سرعة فريمات متغيرة والتي يتزامن الصوت فيها مع الفيديو ^^--

    VFR & 120fps avi

    حمل هذه الأداة: avi_tc
    هناك واجهة رسومية لن أتحدث عنها لأنني أستعمل الـ prompt window
    وظيفة هذه الأداة هي استخراج ملف timecodes من ملفات avi التي تكون سرعة فريماتها 120 كما تستخرج لك راو جديد يحتوي على جميع الفريمات الأصلية، لكن بسرعة مختلفة (لا تهم سرعة فريمات الراو الجديد ما دمت تملك ملف الـ timecodes)

    لاستخراج ملف الـ timecode والراو :

    كود:
    cfr2tc "source-120fps.avi" "output-decimated-raw.avi" "timecode file.txt"
    لتحويل ملف الـ timecodes من v2 إلى v1:
    كود:
    tcConv "input-tc" "output-tc" -assumed -max_diff
    input-tc: ملف الـ timecodes بصيغة v2 الأصلي والتي يصعب على الإنسان التعامل معها
    output-tc: ملف الـ timecodes بصيغة v1 والتي تكون التعامل معها وفهمها أسهل بكثير
    assumed: سرعة الفريمات التي يُعتقد أن الفيديو يعمل عليها. يمكن وضعها 24000/1001 أو 30000/1001
    max_diff: يحدد أقصى فرق بين توقيت ظهور فريمين لهما نفس السرعة
    الخياران الأخيران يسمحان بعرض أسهل للملف لأنه يمكن أن تحصل على آلاف من القيم. مثال:

    كود:
    # timecode format v1
    Assume 23.976024
    0,30,29.970030
    35,1174,23.976022
    1183,1312,29.970030
    1321,1620,23.976029
    1721,1735,23.976031
    1760,1769,29.970030
    1794,1798,29.970030
    1859,1863,23.976020
    1872,1881,29.970030
    1910,1924,29.970030
    1945,1949,29.970030
    1954,1998,29.970030
    
    ....
    المقاطع الملونة بالأحمر يمكن أن نضعها مع مجموعة 23.976024 بواسطة التلاعب بقيم assumed وmax_diff


    VFR & AFX
    الأفتر مثل الـ avisynth لا يميز بين cfr وvfr لذا عليك إعطاء الأفتري وورك راو ذو سرعة فريمات ثابتة ثم الإنتاج بسرعة فريمات متغيرة بواسطة ملف التايم كودز، هذا في حالة أن الأمر يقتصر على المحاكاة. أما إن كنت تريد عمل كارا بالأفتر فهنا سيدخل الصوت في اللعبة. عليك إنتاج مقطع الكارا cfr والبقية تنتجها vfr واختر أكبر سرعة فريمات في المقطع.

    VFR & you

    قد يسأل بعضكم لماذا أنتج vfr؟
    الجواب: إنتاج حلقات vfr ليس أمراً اعتباطياً بل حسب المسلسل. إن كان المسلسل vfr فالأفضل أن تنتجه vfr كي تكون الحركة في الفيديو انسيابية. إن فرضت سرعة فريمات ثابتة فستكون الحركة غير انسيابية سواء أخذت سرعة الفريمات القصوى أو الدنيا.
    + من غير اللائق أن تنتج cfr لشيء vfr، هذا قد يثير تذمر وسخرية البعض وسيكون تزييفاً لحقيقة الأشياء. Indeed
    شيء أخير: سرعة فريمات الأنيمي الياباني تكون إما 24 أو 30 أو الاثنين معاً

    ------


    Share the pain


    في أمان الله
    التعديل الأخير تم بواسطة ElPsy ; 6-2-2011 الساعة 08:46 PM سبب آخر: Stuff being added

  2. 2 أعضاء شكروا ElPsy على هذا الموضوع المفيد:


الكلمات الدلالية لهذا الموضوع

المفضلات

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
Loading...