vapoursynth

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


النتائج 1 إلى 7 من 7

الموضوع: vapoursynth

  1. #1


    تاريخ التسجيل
    Jun 2009
    المـشـــاركــات
    8
    الــــدولــــــــة
    لا يوجد
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:

    افتراضي vapoursynth

    السلام عليكم ورحمة الله وبركاتُه
    والصلاة والسلام على نبينا مُحمد وعلى آله وصحبه أجمعين

    يتكلم هذا الموضوع عن"شيء" يُدعى vapoursynth

    غالبية الموضوع ستكون بشكل"س و ج" حتى يكون مُختصر وذا فائدة أكبر
    س/ ما هو vapoursynth ؟
    ج: الـ vapoursynth عبارةعن frameserver يتكون من مكتبة و python module. (والـ frameserver عبارة عن برنامج يقوم بإرسال فريمات الفيديو إلى برنامج آخر, بشكل frame by frame ويُدعى البرنامج الذي يتلقى الفريمات بالـ frameclient.)
    وضيفة هذا الـ frameserver هو التعديل على مقاطع الفيديو كغيره من الفريم سيرفرز مثل avisynth, VirtualDub, Adobe Premiere Pro...إلخ. (والأشهر بينهم في تصفية الفيديو هو avisynth كما هو معروف). ووجود الـ python module يسمح بكتابة سكربتات للـ vapoursynth بلغة البيثون.

    س/هل هي أفضل من avisynth ؟؟ وإن هي كذلك, ما الذي يجعلها أفضل ؟؟
    ج:نعم. هُناك أمور كثيرة تجعل من vapoursynth أفضل من avisynth سأذكر منها ما أعرف:

    1-Multithreading (Frame-based)l
    الـ Thread هو أصغر سلسلة من التعليمات البرمجية التي يُمكن التحكم بها بشكل مُنفصل من قبل مُجدول نظام التشغيل. كُل برنامج يحوي على عملية (proccess) واحدة أو أكثر, وكُل عملية تحوي على Thread واحد أو اكثر. النسخة الرسمية من الـ avisynth هي single-threaded, أي أنهُ في حال وجود مكتبة (أو برنامج) أجرت عملية (أو عمليات) مُعينة إستُعملت بها مكتبة avisynth وكانت هذه العملية تتكون من أكثر من Thread واحد, فسيتم إنجاز هذه العملية من قبل المعالج بشكل Thread by Thread, أي أن المعالج سيستخدم CPU (أو Core) واحدة فقط حتى لو كان معالج جهازك يملك اكثر من CPU (أي multi-core processor). والأمر نفسه ينطبق على العمليات التي يتم تنفيذها من مكتبة الـ avisynth نفسها (أي من دون إستعمال أي برنامج أو مكتبة خارجية).


    أما الـ vapoursynth فهي Multi-Threaded أي أنهُ, أي عملية يتم تنفيذها من قبل مكتبة أو برنامج معين (ونفس الأمر ينطبق على العمليات التي يتم تنفيذها من قبل الـ vapoursynth نفسها) وإستُعملت بها الـ vapoursynth, ستتم مُعالجتها على اكثر من CPU (أو Core) واحدة في حالة كون تلك المكتبة Multi-Threaded أيضاً (وعلى فرض أن معالج جهازك مُتعدد الأنوية), وسيؤدي هذا طبعاً إلى إتمام العمليات بشكل أسرع.

    قصدت بالمكتبة, أي فلتر للـ avisynth (أي avisynth plugin)
    والبرنامج, أي برنامج قد يستعمل سكربت الـ avisynth كـ إدخال (input) مثل x264, ffmpeg, avconv...


    2-دعم شامل لأنظمة الألوان

    الـ avisynth, تدعم إدخال الفيديو بأي نظام ألوان (Colorspace) كان به وبأي عُمق وذلك عن طريق مكتبة ffms2 (وهي source filter) حيث أن هذه المكتبة تدعم إدخال الفيديو بجميع انظمة الألوان (والحاويات) المدعومة من مكتبة libav مع بعض الإضافات أيضاً. أما من حيث الإخراج فهي لا تدعم إلا إخراج الفيديو بنظام بعمق 8-بت فقط, لهذا تُستعمل غالباً حُزمة الـ Dither من أجل إخراج الفيديو بعمق ألوان أكبر من 8 بت, أي من أجل مُحاولة التعويض عن الـ bits التي تمت خسارتها أثناء معالجة المصدر بفلاتر الـ avisynth الأُخرى في حالة كون الإدخال بعمق أكبر من 8 بت (ﻷن معظم فلاتر الـ avisynth تقوم بإعادة الفيديو إلى 8 بت بعد الإنتهاء من معالجته إلا بعض الفلاتر مثل RedAverage و ResampleHQ...) ولكن هذه الحُزمة Hack قبيح, ولا يُعتبر كـ "دعم" في الـ avisynth.
    (مُلاحظة: الـ Hack هو مُسطلح يُستعمل في البرمجة للإشارة إلى "حل قبيح" لمُشكلة مُعينة.)

    أما الـ vapoursynth فتدعم "إدخال وإخراج" الفيديو بأي نظام ألوان كان به وبأي عُمق للألوان
    وذلك عن طريق ffms2 أيضاً وهذا الدعم هو native support طبعاً.

    3-per-frame metadata

    الـ vapoursynth تدعم القابلية على توفير معلومات وصفية لكُل فريم على حدى.
    الكُل يعرف برنامج الـ mediainfo والمعلومات التي يستطيع توفيرها من الفيديو أو الإوديو المُدخل إليه (والتي تحوي أحياناً معلومات خاطئة), وهُناك أيضاً دالة في مكتبة الـ avisynth تستطيع تزويد بعض المعلومات عن الفيديو المدخل وهي ()info
    ولكن, كُل من الطريقتين السابقتين لا توفر معلومات وصفية لكُل فريم على حدى, مثل هل أن هذا الفريم هو I, B,or P . وأمور أُخرى كثيرة حيث أنهُ أي نوع من المعلومات الوصفية يُمكن إضافتها إلى الفريم, تستطيع الـ vapoursynth توفيره أيضاً. وكُل ما سبق عند توفر الـ plugin المُناسب لهذا الأمر.


    هُناك برنامج رائع إسمه StreamEye, يستطيع توفير معلومات دقيقة جداً! وليس فقط عن الفريم الواحد,
    وإنما يستطيع معرفة إذا ما كان هذا الماكروبلوك في هذا الفريم هو inter or intra predicted!
    وكذلك يستطيع معرفة أبعاد الماكروبلوك ومعلومات أُخرى أيضاً. (+هو غير مجاني)


    4-إعتماد python كلغة للسكربتات

    الـ avisynth تستعمل لغة خاصة لبرمجة السكربتات, فإذا أردت كتابة سكربت للـ avisynth فيجب عليك تعلم لغة الـ avisynth للسكربتات.
    أما في الـ vapoursynth فقد أشرنا سابقاً أن وجود الـ python module يسمح بكتابة سكربتات بلغة البيثون, أي لا توجد أي لغة خاصة يجب عليك تعلمها.
    فإن أردت كتابة سكربتات لـ vapoursynth عليك تعلم البيثون. والبيثون لغة قوية وغنية عن التعريف فتستطيع الإستفادة منها في مجالات أُخرى كثيرة أيضاً غير سكربتات الـ vapoursynth.

    5-دعم الفيديو بالتغيرات التي تطرأ عليه

    هذه الخاصية هي شيء ممكن الإستفادة منه بالمُستقبل, وسابقاً كانت هُناك مُحاولة من قبل أحد مُطوري الـ avisynth من أجل دعمها لكن فشلت.
    الـ vapoursynth تستطيع التعامل مع أي نوع من التغيرات التي مُمكن أن تطرأ على الفيديو الواحد, كأمثلة (وهي أمور غير موجودة حالياً على حد علمي): تغير الـ bit-depth, تغير الـ colorspace, تغير أبعاد الفيديو, وأمور أُخرى طبعاً.
    وهُناك نوع من التغيرات موجودة حالياً ومدعومة من قبل الـ vapoursynth أيضاً مثل تغير مُعدل الفريمات في الفيديو الواحد (VFR).

    6-الـ vapoursynth مُتعددة المنصات (Cross-Platform)

    أي أنها تعمل على أكثر من نظام تشغيل (وشخصياً أرى هذه الميزة من أجمل ما تمتاز به), وحالياً تعمل على Windows, Linux, and OS X (ويُقال أنها تعمل على BSD أيضاً).
    أما الـ avisynth فهي تعمل على Windows فقط, ويوجد أيضاً AVXSynth (the port of avisynth)l التي تعمل على linux و (OS X مؤخراً) لكن هذا الأخير مشروع تطويره بطـيء جداً ولا يوجد لهُ أي فلتر خارجي غير ffms2 (وعلى الأغلب أن هذا المشروع سينتهي بعد فترة قصيرة)

    7-التحكُم الذكي بموارد الجهاز

    الـ vapoursynth تعمل Multi-threaded كما أشرنا سابقاً, وفي نفس الوقت فهي تحتاج مقدار أقل من ذاكرة الوصول العشوائية (RAM) لإتمام العملية مُقارنة بالـ avisynth.
    ولهذا الأمر فائدة كبيرة لمُستخدمي بعض أنظمة 32-بت بشكل عام, ولأصحاب الرامات القليلة بشكل خاص.
    ففي بعض أنظمة 32-بت هُناك نوع من القيود يُدعى بـ "حاجز الـ 3GB" حيث أنك لا تستطيع إستخدام أكثر من 3GB من الرام حتى لو كُنت تملك أكثر من 3GB (والأسباب موضحة في صفحة الويكي, وهُناك طريقة لتحطيم الحاجز وذلك بتفعيل الـ PAE ولكنها عبارة عن Hack وغير مُستقرة طبعاً فالأفضل الإبتعاد عنها, لكن حسب علمي فهي أقل سوءاً على اللينكس).
    وكما هو معروف كُلما كبرت أبعاد الفيديو, أو إستُعملت فلاتر أكثر, يتم إستهلاك حجم أكبر من الرام (بالإضافة إلى نوع الفيديو أيضاً فإذا كان الفيديو مضغوط وبإعدادات قوية سيتم إستهلاك الرام أكثر بسبب عملية الـ Decoding). فإذا تجاوز المجموع الكلي لإستهلاك البرامج للرام, الـ 3GB, يحصُل out of memory وهي من المشاكل المعروفة في الـ avisynth ـ(Access Violation at 0x0). وأحياناً يكون السبب هو حصول تسريب في الذاكرة أيضاً (memory leak) من قبل أحد الفلاتر أو غير ذلك.


    س/هل أستطيع إستخدام فلاتر الـ avisynth في vapoursynth ؟ وهل يوجد إستثناء لبعض الفلاتر ؟
    ج:نعم يُمكن ذلك ومن دون الحاجة إلى avisynth حتى بسبب وجود مُحاكي الـ avisynth في vapoursynth
    وأي فلتر يعمل على النسخة الرسمية من avisynth سيعمل بشكل أفضل حتى على vapoursynth من حيث إستخدام الرام ومن حيث السرعة في إتمام العملية, فبفضل الـ vapoursynth تستطيع إستخدام (إن كُنت تملك) أكثر من نواة واحدة حتى لو كُنت تستخدم فلاتر الـ avisynth, لكن طبعاً لن يكون أدائها مثل أداء فلاتر الـ vapoursynth (أقصد الـ Native Plugins) بسبب بعض القيود وأحياناً ستعمل مثل عملها في الـ avisynth (أي بنواة واحدة).
    وفي ما يخص الإستثناء فعلى حد علمي, أن ColorMatrix هو الإستثناء الوحيد والبقية ستعمل (قد تواجه مشاكل بسيطة في بعضها أيضاً).


    س/ما هي فلاتر الـ vapoursynth الموجودة حالياً ؟
    ج: حالياً:

    ffms2
    vsrawsource
    vsavsreader
    imagesreaderplugins
    ColorMatrix
    eedi3
    histogram
    scxvid
    temporalsoften
    vivtc


    ومن المُفترض أن تعمل على جميع الأنظمة التي تعمل عليها vapoursynth (ما عدا ColorMatrix فهي تعمل على الويندوز فقط حالياً).


    س/كيف أستطيع إستخدام الـ vapoursynth ؟
    ج: سأشرح طريقة التثبيت على الويندوز واوبنتو لينكس فقط ﻷني لا أستعمل غيرهما.
    في الويندوز:
    نزل وثبت البيثون من هنا وكذلك آخر نسخة من vapoursynth من هنا
    وبعد التثبيت قُم بالتالي:
    إذهب إلى: right-click on Computer>>Properties>>advanced system options>>environment variables>>Edit
    ثم أضف: c:\python33;
    ثم ok ok. هكذا تستطيع تشغيل مُفسر البيثون بكتابة python في cmd.exe دون الحاجة إلى كتابة مساره كاملاً.

    في اللينكس:
    نزل الكود المصدري من هنا ثم إعمل له Compile بالطريقة المُعتادة:
    كود:
    ./configure
    make
    sudo make install
    وستستطيع تشغيل المُفسر بكتابة python3 في الطرفية (Terminal)

    وفيما يخص طريقة الإستخدام فهي سهلة جداً ولا تحتاج لتعلم لغة البيثون للبدأ (وسأشرحها بشكل مُبسط)
    إفتح مُفسر البيثون (python.exe) وإكتُب التالي:
    كود:
    import vaporsynth as vs
    import sys
    c = vs.Core()
    ^هكذا ستبدأ كُل سكربت تُريد فيه إستخدام الـ vapoursynth.

    آلية عمل سكربتات الـ vapoursynth (والتي هي سكربتات بيثون لا أكثر) تتلخص بهذا السطر:
    كود:
    c.NAMESPACE.FUNCTION
    الـ c تُشير إلى نواة الـ vapoursynth ـ( ()c = vs.Core )
    الـ NAMESPACE يُشير إلى النوع الذي تندرج تحته إسم الدالة (الفلتر) الذي تود إستخدامها.
    أما الـ FUNCTION فهو الدالة التي تَود إستخدامها.

    وهُناك نوعان من الفلاتر الداخلية في الـ vapoursynth وهُما std و resize وتستطيع معرفتها بكتابة هذا الأمر:
    كود:
    print(c.list_functions())
    أما إذا أردت معرفة الدوال الموجودة في plugin مُعين للـ vapoursynth أو للـ avisynth فيجب تحميله بدالة LoadPlugin في البداية ومن ثم:
    كود:
    print(c.list_functions())
    مثال: (لا تنسى إضافة r قبل كُل مسار)
    كود:
    import vapoursynth as vs
    import sys
    c = vs.Core()
    c.std.LoadPlugin(r'c:\folder\ffms2.dll')
    print(c.list_functions())
    فنُشاهد الآتي ضمن قائمة الدوال:
    كود:
    FFmpegSource 2 for VapourSynth
        namespace:    ffms2
        identifier:    com.vapoursynth.ffms2
            GetLogLevel()
            Index(source:data; cachefile:data:opt; indexmask:int:opt;    dumpmask:int:opt; audiofile:data:opt; errorhandling:int:opt;    overwrite:int:opt; demuxer:data:opt;)
            SetLogLevel(level:int;)
            Source(source:data; track:int:opt; cache:int:opt;    cachefile:data:opt; fpsnum:int:opt; fpsden:int:opt; threads:int:opt;    timecodes:data:opt; seekmode:int:opt; width:int:opt; height:int:opt;    resizer:data:opt; format:int:opt;)
            Version()
    الآن نفتح الفيديو بـ ()ffms2.Source :
    كود:
    x = c.ffms2.Source(r'c:\path\to\video.mkv')
    x يُمثل مقطع الفيديو الآن.

    ثُم نُضيف هذا السطر (ﻷننا سنقوم بتلقيم (pipe) الـ stdout من البيثون إلى الـ stdin لبرنامج آخر) :
    كود:
    x.output(sys.stdout, y4m=True)
    السكربت:
    كود:
    import vapoursynth as vs
    import sys
    c = vs.Core()
    c.std.LoadPlugin(r'c:\folder\ffms2.dll')
    x = c.ffms2.Source(r'c:\path\to\video.mkv')
    x.output(sys.stdout, y4m=True)
    مثال آخر:
    كود:
    import vapoursynth as vs
    import sys
    c = vs.Core()
    c.std.LoadPlugin(r'c:\folder\ffms2.dll')
    x = c.ffms2.Source(r'c:\path\to\video.mkv')
    y = c.std.Trim(clip=x, first=195, last=5589)
    z = c.resize.Spline(clip=y, width=848, height=480)
    z.output(sys.stdout, y4m=True)
    ^
    x = الفيديو
    y = الفيديو + القص
    z = الفيديو + القص + تغيير الأبعاد (النهائي)

    مثال أخير: (إستخدم c1 بدلاً من clip في عند إستعمال فلاتر avisynth)
    كود:
    import vapoursynth as vs
    import sys
    c = vs.Core()
    c.avs.LoadPlugin(r'c:\folder\UnDot.dll')
    c.avs.LoadPlugin(r'c:\folder\gradfun2db.dll')
    c.avs.LoadPlugin(r'c:\folder\TNLMeans.dll')
    c.avs.LoadPlugin(r'c:\folder\MSharpen.dll')
    c.std.LoadPlugin(r'c:\folder\ffms2.dll')
    x = c.ffms2.Source(r'c:\path\to\video.mkv')
    y = c.std.Trim(clip=x, first=301, last=400)
    z = c.resize.Spline(clip=y, height=720, width=1280)
    k = c.avs.TNLMeans(c1=z, Ax=2, Ay=2, Sx=4, Sy=4)
    s = c.avs.MSharpen(c1=z, strength=200, threshold=15)
    h = c.avs.gradfun2db(c1=s, thr=5)
    f = c.avs.UnDot(c1=h)
    f.output(sys.stdout, y4m=True)
    الآن نقوم بالـ piping إلى x264:
    كود:
    python test.py | x264 --demuxer y4m -o test.mkv -
    حالياً هكذا تستطيع عمل encode لسكربت البيثون الذي إستخدمت فيه الـ vapoursynth.

    س/هل أستطيع مُشاهدة السكربت ؟
    ج: نعم, يوجد vfw module في الـ vapoursynth من أجل تكوين avi إفتراضي من سكربتات البيثون وبالطبع فهو للويندوز فقط
    ولاحقة سكربتات الـ avi الوهمية هذه هي vpy. لذلك إن كُنت تُريد مُشاهدة سكربت المثال الأخير مثلاً عليك تغيير إسم السكربت إلى test.vpy وكذلك إستبدال السطر الأخير منه بـ:
    كود:
    last = f
    وتستطيع عرضه في VirtualDub.

    س/هل أستطيع إستخدام سكربتات الـ avisynth ؟
    ج: نعم يُمكن ذلك عن بإستعمال vsavsreader وستحتاج إلى الـ avisynth في هذه الحالة.



    سأكتفي بهذا القدر. وقد أُضيف أسئلة أُخرى أو توضيحات أكثر لكن لاحقاً (لا أملك الوقت حالياً). وسأُحاول الرد على الإستفسارات قدر المُستطاع.


    هُناك نُسخة غير رسمية من الـ avisynth وهي تعمل Multithreaded ولكنها غير مُستقرة مثل النسخة الرسمية (لكن يبدو أن هُناك تحسن من حيث الإستقرار في آخر إصدار) بالإضافة إلى أنها ما زالت تُعاني من بعض المشاكل مع بعض الفلاتر وخصوصاً في النُسخ الأخيرة (كما أن دعم الـ Multithreading فيها ليس native-support أيضاً).
    الطريقة الوحيدة لجعل الـ avisynth تملك native-support للـ Multithreading هو مَكتبة تمت كتابتها من أجل تطوير فلاتر للـ avisynth تعم Multithreaded ولكن لم أرَ أي فلتر تمت كتابته بإستعمال هذه المكتبة إلى الآن. إسم المكتبة: AVSTP


    الـ vapoursynth وصلت إلى ما هي عليه الآن خلال أشهُر قليلة فقط (5 أشهُر إن لم أكُن مُخطئاً)


    في امان الله
    التعديل الأخير تم بواسطة utchihi ; 29-10-2012 الساعة 04:50 PM

  2. الأعضاء الذين يشكرون utchihi على هذا الموضوع:


  3. #2

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

    تاريخ التسجيل
    Jul 2008
    المـشـــاركــات
    1,763
    الــــدولــــــــة
    مصر
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:

    افتراضي رد: vapoursynth

    جمييل جدا ^_^

    بارك الله فييك..

    ساحتاج الى التركيز في الموضوع قليلا...


    ^في امان الله ^

  4. #3

    الصورة الرمزية ~ VEGETA ~

    تاريخ التسجيل
    Oct 2010
    المـشـــاركــات
    1,281
    الــــدولــــــــة
    لا يوجد
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:

    افتراضي رد: vapoursynth

    شكراً جزيلاً لك فعلاً أنت تعجبني كثيراً في ردودك.

    هذا المشروع هو مستقبل معالجة الفيديو بحق وكما تفضلتَ أنت فهو ما زال في بداياته وفعل كل هذا. أيضاً من الجميل أن يكون فيه native support كثيرة خصوصاً للأشياء الأساسية.

    الـ avs لم يعد يتطور منذ مدة طويلة ومطور الـ VS قال هذا ضمن الأسباب التي دعته للبدء بهذا المشروع.

    بالنسبة لي أتعامل بكثرة مع برنامج YATTA لذا أحتاج إلى التعامل مع AVS فهل من طريقة فعالة ومجدية للعمل بـ VS؟

    أيضاً هل تعرف على حد علمك برنامج شبيه بـ avsp لكن يعمل بـ VS؟ << هذا متطلب أساسي برأيي وهو أن أرى كل تعديلاتي مباشرة وبفعالية أيضاً.

    بانتظار مشاركاتك في الموضوع. شكراً مجدداً.

  5. #4

    الصورة الرمزية eEvEn up$

    تاريخ التسجيل
    May 2011
    المـشـــاركــات
    91
    الــــدولــــــــة
    السعودية
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:

    افتراضي رد: vapoursynth

    اداة واعدة بحق

    لكن كما قال فيجيتا من المبكر استخدامها

    بانتظار تطويرها لتصل لمستوى avisynth واكثر


    همسه:سيأتي يوم نقول فيه على avisynth اداة متخلفه

  6. #5


    تاريخ التسجيل
    Jun 2009
    المـشـــاركــات
    8
    الــــدولــــــــة
    لا يوجد
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:
    كاتب الموضوع

    افتراضي رد: vapoursynth

    اقتباس المشاركة الأصلية كتبت بواسطة ~ VEGETA ~ مشاهدة المشاركة
    بالنسبة لي أتعامل بكثرة مع برنامج YATTA لذا أحتاج إلى التعامل مع AVS فهل من طريقة فعالة ومجدية للعمل بـ VS؟
    لا يوجد حالياً. (على الأقل, ليس قبل عمل port للفلاتر التي تستخدمها الياتا)

    أيضاً هل تعرف على حد علمك برنامج شبيه بـ avsp لكن يعمل بـ VS؟ << هذا متطلب أساسي برأيي وهو أن أرى كل تعديلاتي مباشرة وبفعالية أيضاً.
    ما يوجد حالياً هو الـ virtualdub وكمُحرر للسكربتات فأنا شخصياً أستخدم مُحرر سكربتات البيثون المُرفق مع الـ python installer (في الويندوز فقط)

  7. #6

    الصورة الرمزية ~ VEGETA ~

    تاريخ التسجيل
    Oct 2010
    المـشـــاركــات
    1,281
    الــــدولــــــــة
    لا يوجد
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:

    افتراضي رد: vapoursynth

    هل أستطيع العمل كما في avsp؟ يعني من خلال مشاهدة النتائج مباشرة وهكذا...

    سيأتي يوم نقول فيه على avisynth اداة متخلفه
    هي ليست مميزة الآن ولا متطورة أصلاً. مشاكلها كثيرة وهي من التسعينات... ممكن تقول عنها متخلفة الآن لو أردت.

    الـ vapoursynth هي المستقبل. هذا الرد للاستمتاع. وأقتبس منه:


    كود:
    It's designed as a video filtering framework (sort of like Avisynth) but unlike Avisynth it:
    
    • isn't from the 90's
    • supports native frame-based multi-threading
    • is extensible (supports arbitrary per-frame metadata; new colorspaces can be defined at runtime, etc)
    • is cross-platform
    • ships with Python 3 bindings; no support for a home-grown scripting language is planned
    • has a C API rather than a C++ API, so it's actually portable
    • has native support for things like clips with changing dimensions and other properties, as well as clips with infinite duration

  8. #7

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

    تاريخ التسجيل
    Mar 2008
    المـشـــاركــات
    3,015
    الــــدولــــــــة
    الامارات
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:

    افتراضي رد: vapoursynth

    وعليكم السلام ورحمة الله
    شكرا جزيلا لك اخي الكريم
    عسى الافادة والاستفادة للجميع ..

    كما احببت التنويه، انه يستحق ان يتم الاطلاع على أداة FluaG
    للتعديل على الفيديوا وانشاء الفيديوا عن طريق اوامر برمجية بسيطة

    شكرا جزيلا لك
    والله ولي التوفيق

المفضلات

المفضلات

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

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