البريد الإلكتروني:

كيفية تحويل الفيلم ثنائي الأبعاد إلى فيلم ثلاثي الأبعاد

كيفية تحويل الفيلم ثنائي الأبعاد إلى فيلم ثلاثي الأبعاد

أصبحت ثورة الأفلام والألعاب ثلاثية الأبعاد أحد أهم المظاهر التي ظهرت بداية القرن الواحد والعشرين , ولعل من أبرز النقلات في هذا المجال هي إتاحة مشاهدة الأفلام والألعاب بشكل ثلاثي الأبعاد باستخدام نظارة خاصة توصل بالحاسب , الأمر الذي أتاحته NVIDIA  عملاق صناعة معالجات الإظهار بتقنيتها NVIDIA 3D VISION  .  

 

كيف تعمل تقنية NVIDIA 3D VISION  ؟


تقنية NVIDIA 3D VISION  تقوم على أن ترفق بطاقة الإظهار مع نظارات خاصة , هذه النظارات تحوي عدسات تسمى Liquid Crystal Shutter  بحاجة إلى تغذية لذلك يمكن شحن هذه النظارات عن طريق USB  وتعمل لفترات طويلة تصل إلى عشرين ساعة , كما يشترط أن تكون الشاشة تعمل بمعدل تحديث إطارات 120Hz  , عند تشغيل هذه التقنية وعند تشغيل أي مقطع فيلم ثلاثي الأبعاد – أي يدعم هذه التقنية – تقوم النظارة بإطفاء كل عدسة على حدى بشكل متناوب فعندما تكون الأولى قيد العمل تكون الثانية مطفأة .... وتعمل كل عدسة بمعدل تحديث 60Hz  ,
عملياً الذي يحدث أن كل عدسة ترى إطار بزاوية معينة طبعاً معدل التحديث العالي يجعل العقل يتوهم بأن الصورة ثلاثية الأبعاد .
ملاحظة : لتشغيل ملف فيديو ثلاثي الأبعاد أنت بحاجة إلى برنامج خاص من NVIDIA  .

طريقة التحويل


أحضر أي مقطع فيديو لديك بشرط ان يكون بجودة MPEG  بغض النظر عن الدقة ,,,
قم بتنزيل برنامج AVISynth  والذي سينزل على نظام التشغيل على أنه كوديك وليس كبرنامج , أي أنه لا يحوي واجهة يمكن للمستخدم أن يتعامل بها ,
افتح ملف نصي بواسطة المفكرة وانسخ الكود التالي إليها


## 2D to 3D Realtime Video Conversion Avisynth script v0.3b
## Made by Anton Belev at 3D Vision Blog
## http://www.3dvision-blog.com
## Additionally extended by Martin Haverland at audiomh.de for quality resize
## and different output modes including interlaced format for use in non-3d specific players e.g. windows media player.

## Open the video file for conversion, change the video file name
video2d = DirectShowSource("Avatar_Trailer_HD.avi")

## Increase video brightnes on dark videos, good for 3D Vision owners
# video2d = video2d.Tweak(Bright=10)

## Convert to RGB32 to avoid the width restrictions
video2d = ConvertToRGB32(video2d)

## Optional aspect ratio maintaining quality resize for 3d monitor target resolution.
## Very cpu intensive, may be for offline use only, e.g. in virtualdubmod.
## 2x 3.0ghz cpu may give you a framerate of 16fps while running the whole script in virtualdubmod including xvid compression in HDTV quality saving setting.
## Offers great quality in the result video for fullscreen playback in every .avs capable player later.
## Also reduces ghosting if the original file resolution is smaller than the target resolution.
# videoW = width(video2d)
# videoH = height(video2d)
## For 19" Zalman use 1280, for 22" Zalman Trimon it is 1680 etc.
# hzTargetSize = 1280
# video2d = Lanczos4Resize(video2d, hzTargetsize, hzTargetsize * videoH / videoW)
## Commenting out the above resizing maintains realtime capability!

## Get video width/height and set the frame stretch factor
## Lower the value 100 to increase frame stretch, may introduce ghosting
videoW = width(video2d)
videoH = height(video2d)
ResW = videoW + (videoW / 100)
CropW = (ResW - videoW) / 2

## Create variables for left and right frame with one frame difference
## This is the Plufrich-like simulation that creates illusion of depth from movement
f1 = video2d
f2 = DeleteFrame(video2d, 0)

## Stretch the right frame to further the depth effect
f1 = LanczosResize(f1, ResW, videoH)
f1 = Crop(f1, 0, 0, videoW, videoH)

## Stretch the left frame to further the depth effect
f2 = LanczosResize(f2, ResW, videoH)
f2 = Crop(f2, CropW, 0, videoW, videoH)

## Output the two video frames in a side-by-side / parallel format
## Use this as a default for playing back on 3D Vision (Side by Side L/R)
StackHorizontal(f2, f1)

## Output the two video frames in a Above/Below format (like Sony?)
# StackVertical(f2,f1)

## Output the two video frames in a page flipping format for shutter glasses etc.
## The Tweak as proposed by eslave is for brighter image, modify the value 30
# f1 = f1.ConvertToYV12.Tweak(Bright=30)
# f2 = f2.ConvertToYV12.Tweak(Bright=30)
# Interleave(f2,f1)

## Output the two video frames in anaglyph red-cyan as proposed by eslave
# MergeRGB(f2.ShowRed, f1.ShowGreen, f1.ShowBlue)

## For reversed anaglyph i.e. cyan-red
# MergeRGB(f1.ShowRed, f2.ShowGreen, f2.ShowBlue)

## Output the two video frames in anaglyph yellow-blue as proposed by eslave (untested)
# f1 = f1.ConvertToYV12(matrix="PC.601").tweak(bright=12.5, sat=1.25, coring=false)
# f1 = f1.ConvertToRGB32
# f1 = f1.Levels(0, 1.05, 255, 0, 255, coring=false)
# MergeRGB(f2.ShowRed, f1.ShowGreen, f1.ShowBlue)

## Output the two video frames in anaglyph blue-Yellow as proposed by eslave (untested)
# f2 = f2.ConvertToYV12(matrix="PC.601").tweak(bright=12.5, sat=1.25, coring=false)
# f2 = f2.ConvertToRGB32
# f2 = f2.Levels(0, 1.05, 255, 0, 255, coring=false)
# MergeRGB(f1.ShowRed, f2.ShowGreen, f2.ShowBlue)

## Output two video frames in Interlaced mode
## Ueed for Zalman Trimon, Acer Aspire 3D etc.
# f1 = SeparateFields(f1)
# f1 = SelectEven(f1)
# f2 = SeparateFields(f2)
# f2 = SelectOdd(f2)
# interleave(f2,f1)
# AssumeFieldBased()
# weave()

 


في السطر التاسع قم بتغيير العبارة ("Avatar_Trailer_HD.avi") إلى اسم الملف لديك مع اللاحقة مع الإبقاء على العارضتين والقوسين ,
وفي حال واجهتك مشاكل مع ملفات الفيديو ذات الدقة العالية 720 أو أعلى اعمل على الكود التالي مع ملاحظة التعديل المذكور في الكود السابق وهو تغيير اسم الملف

 


## 2D to 3D Realtime Video Conversion Avisynth script v0.3b MultiThreading
## Made by Anton Belev at 3D Vision Blog
## http://www.3dvision-blog.com
## Additionally extended by Martin Haverland at audiomh.de for quality resize
## and different output modes including interlaced format for use in non-3d specific players e.g. windows media player.

## For this to work you need to have AviSynth with MT mod 0.7 installed!!!
SetMTMode(2,0)

## Open the video file for conversion, change the video file name
video2d = DirectShowSource("Avatar_Trailer_HD.avi")

## Increase video brightnes on dark videos, good for 3D Vision owners
# video2d = video2d.Tweak(Bright=10)

## Convert to RGB32 to avoid the width restrictions
video2d = ConvertToRGB32(video2d)

## Optional aspect ratio maintaining quality resize for 3d monitor target resolution.
## Very cpu intensive, may be for offline use only, e.g. in virtualdubmod.
## 2x 3.0ghz cpu may give you a framerate of 16fps while running the whole script in virtualdubmod including xvid compression in HDTV quality saving setting.
## Offers great quality in the result video for fullscreen playback in every .avs capable player later.
## Also reduces ghosting if the original file resolution is smaller than the target resolution.
# videoW = width(video2d)
# videoH = height(video2d)
## For 19" Zalman use 1280, for 22" Zalman Trimon it is 1680 etc.
# hzTargetSize = 1280
# video2d = Lanczos4Resize(video2d, hzTargetsize, hzTargetsize * videoH / videoW)
## Commenting out the above resizing maintains realtime capability!

## Get video width/height and set the frame stretch factor
## Lower the value 100 to increase frame stretch, may introduce ghosting
videoW = width(video2d)
videoH = height(video2d)
ResW = videoW + (videoW / 100)
CropW = (ResW - videoW) / 2

## Create variables for left and right frame with one frame difference
## This is the Plufrich-like simulation that creates illusion of depth from movement
f1 = video2d
f2 = DeleteFrame(video2d, 0)

## Stretch the right frame to further the depth effect
f1 = LanczosResize(f1, ResW, videoH)
f1 = Crop(f1, 0, 0, videoW, videoH)

## Stretch the left frame to further the depth effect
f2 = LanczosResize(f2, ResW, videoH)
f2 = Crop(f2, CropW, 0, videoW, videoH)

## Output the two video frames in a side-by-side / parallel format
## Use this as a default for playing back on 3D Vision (Side by Side L/R)
StackHorizontal(f2, f1)

## Output the two video frames in a Above/Below format (like Sony?)
# StackVertical(f2,f1)

## Output the two video frames in a page flipping format for shutter glasses etc.
## The Tweak as proposed by eslave is for brighter image, modify the value 30
# f1 = f1.ConvertToYV12.Tweak(Bright=30)
# f2 = f2.ConvertToYV12.Tweak(Bright=30)
# Interleave(f2,f1)

## Output the two video frames in anaglyph red-cyan as proposed by eslave
# MergeRGB(f2.ShowRed, f1.ShowGreen, f1.ShowBlue)

## For reversed anaglyph i.e. cyan-red
# MergeRGB(f1.ShowRed, f2.ShowGreen, f2.ShowBlue)

## Output the two video frames in anaglyph yellow-blue as proposed by eslave (untested)
# f1 = f1.ConvertToYV12(matrix="PC.601").tweak(bright=12.5, sat=1.25, coring=false)
# f1 = f1.ConvertToRGB32
# f1 = f1.Levels(0, 1.05, 255, 0, 255, coring=false)
# MergeRGB(f2.ShowRed, f1.ShowGreen, f1.ShowBlue)

## Output the two video frames in anaglyph blue-Yellow as proposed by eslave (untested)
# f2 = f2.ConvertToYV12(matrix="PC.601").tweak(bright=12.5, sat=1.25, coring=false)
# f2 = f2.ConvertToRGB32
# f2 = f2.Levels(0, 1.05, 255, 0, 255, coring=false)
# MergeRGB(f1.ShowRed, f2.ShowGreen, f2.ShowBlue)

## Output two video frames in Interlaced mode
## Ueed for Zalman Trimon, Acer Aspire 3D etc.
# f1 = SeparateFields(f1)
# f1 = SelectEven(f1)
# f2 = SeparateFields(f2)
# f2 = SelectOdd(f2)
# interleave(f2,f1)
# AssumeFieldBased()
# weave()

 


الآن قم بحفظ الملف النصي باسم ملف الفيديو لديك ولكن بلاحقة .AVS وبنفس المجلد الذي فيه الملف , ستلاحظ ان الملف حفظ بأيقونة ملف فيديو , الآن باستخدام أي برنامج مشغل ميديا مثل K-lite  يمكنك تشغيل هذا الملف ... ولكن ستلاحظ أن استهلاك المعالج كبير وذلك لأن الملف في الحقيقة يستدعي ملف الفيديو الأساسي ويعدل عليه في كل إطار .

 

 

لذلك كان يجب حفظ الملف مع تعديلات ثلاثية الأبعاد ضمن ملف واحد ,
قم بتنزيل برنامج Virtual Dub  والذي سيقوم بحفظ الملف , هذا البرنامج هو برنامج مجاني ويتيح إمكانية تعديل وحفظ ملفات الفيديو بعدة صيغ ,
قم بفتح البرنامج وافتح الملف الموجود لدينا بلاحقة AVS  ,
فيه اذهب إلى القائمة AUDIO  واختر Full Processing Mode  أعد النقر على القائمة AUDIO   ثم اختر Compression  واختر MPEG Layer3  ,
اذهب إلى القائمة VIDEO  واختر Compression  واختر الكوديك Xvid MPEG-4 Codec .

 

 

اذهب إلى القائمة File  واختر Save as AVI  وأعطي الملف الاسم الذي تريد وانتظر حتى يتم التحويل وسيكون لديك الملف ثلاثي الأبعاد جاهز


ملاحظة هامة : قد لا تعمل هذه الطريقة على بعض الحواسب نتيجة لوجود العديد من الكوديك التي لا تدعمها هذه البرامج .


مهند السيد – الشركة الهندسية للحواسب- إدارة التدريب والتطوير

تاريخ الإنشاء : 10/21/2010  |   آخر تعديل : 2010-10-21 12:48:27

طباعة إرسال إلى صديق أدخل تعليقك