VỉtualDub nâng cao
Lập ở đây luôn cho dễ nhớ
Hướng dẫn encode bằng VirtualDub.
* Chú ý : Bài viết này nghiên về kĩ thuật nhiều hơn. Đây thuộc dạng nâng cao trình độ tối thiểu cho Encoder và kĩ thuật video.
I/ Các phần cần thiết :
1/ Cài đặt :
- AVISynth 2.5.8
- Codec K-Lite Mega Codec Pack mới nhất nếu máy đời P4 trở về sau. Nếu máy đời Pentium III thì cần version cũ này :
http://www.mediafire.com/?dc1ld3neddz
Nếu không biết cài đặt bằng tay thì có thể chọn tự động (xem post của khuongcomputer)
- VirtualDub (đã có version 1.9.0) hoặc VirtualDubMod (khi đã encode chuyên nghiệp rồi hãy nghiên cứu nó sau).
http://www.mediafire.com/?ctwtzgquqz1
http://www.mediafire.com/?mjjznoajzdz cho AMD 64bit
Homepage : http://www.virtualdub.org/
2/ Yêu cầu :
- Phải biết về AVISynth càng nhiều càng tốt. Hoặc chí ít phải biết cơ bản cách load video bằng AVISynth. Bản thân VirtualDub có thể load một số định dạng video, nhưng load bằng AVISynth vẫn hiệu quả hơn.
- Máy càng mạnh càng tốt, có card video rời nữa thì tuyệt vời (đừng nhầm lẫn với card đồ họa), màn hình lớn (nghèo thì màn hình nhỏ vậy).
II/ Tiến hành thực hiện :
1/ Bước chuẩn bị :
- Copy "vsfilter.dll" vào Plugins của VirtualDub và đổi tên nó sang đuôi .vdf . Mục đích là để file .avs gọn hơn. Hoặc bạn cũng có thể bỏ qua bước này.
- Soạn file .avs và quăng nó vô thư mục riêng (không có bất kì file nào khác).
2/ Bắt đầu encode nào :
Chú ý : Nên chọn No audio, có gì ta xử lí riêng, hoặc dùng AVIMux_GUI mux audio gốc vào (không hướng dẫn phần này, tự tìm hiểu).
http://www.mediafire.com/?dz4jwzdmnwa
a/ Chọn codec nào cho video đây?
Có 4 codec nên quan tâm :
- h264/x264/avc/VSSH
. Ưu diểm : nén khá xuất sắc, phần chuyển động của video khá mượt như bản gốc. Theo chủ quan của người viết (NV), nó nén tốt hơn cả Real Media 10. Ít ngốn CPU đứng hạng 3.
. Nhược điểm :
+ Những video có độ phân giải có chiều ngang (W) hoặc dọc (H) không chia hết cho 16, nén sẽ không hiệu quả (nén sẽ kém hơn cả DivX). Thường codec sẽ tự động resize sao cho chia hết cho 16.
+ Thời gian encode khá lâu (nếu nén tối đa).
- DivX : khá nhiều người chê. Nhưng nếu biết cách thì codec này không tệ thế đâu.
. Nhược điểm :
+ Nén kém hơn x264 (ở điều kiện lí tưởng), vp70 nhưng lại nhỉnh hơn XVid
+ W phải chia hết cho 4 và H phải chia hết cho 2.
. Ưu điểm :
+ Fast Encode để test nhanh thành quả type setting hay karaoke. Đôi khi chức năng Preview không chính xác cho lắm. Preview một đàng, encode ra một nẻo (nhất là type setting). Sau này khi rành AVISynth, bạn sẽ thấy Fast Encode rất quan trọng, giúp giảm bớt thời gian vô ích trong khâu kiểm tra.
+ Ít ngốn CPU.
- XVid : nén kém nhất trong 4 codec, nhưng backup video HQ thì lại tuyệt nhất (nếu bạn không ngại video quá lớn). Cũng như DivX ngốn CPU rất thấp.
- VP70 (True Motion) : nén tốt hơ n x264 (vì không có điều kiện nén rõ ràng), nhưng thời gian hoàn tất là lâu nhất trong 4 codec. Cách sử dụng hơi khó hiểu : nếu bạn tính toán là phải cỡ 720 kbps mới đạt yêu cầu chẳng hạn thì phải khai báo lớn hơn 720 (có thể là 740,800,900...) hoặc nhỏ hơn (ít khi xảy ra). Nhược điểm nữa là ngốn CPU hơi bị nặng (e là Pentium III play codec này không nổi) nên dùng codec này bắt buộc phải hardsub. Trong VP70 : 1 kbps = 1000 bits
Ngoài ra nên tìm hiểu thêm VP60, VP61, VP62, cả dạng video không nén nữa... Bước xác định codec xong.
b/ Cách sử dụng Filters trong VirtualDub : Chức năng này quá thừa đối với NV nên không quan tâm lắm
- Chạy VirtualDub.
- Nạp file avs vô.
- Vào Video/Filters (hoặc nhấn Ctrl+F) sẽ ra cái bảng. Bạn click vô Add... sẽ xuất hiện danh sách bộ lọc. Bộ lọc nào thực sự cần thiết thì tùy vào video, tùy vào kinh nghiệm của Encoder mà chọn. Trong đó có cả Textsub và Vobsub (vsfilter). Ngoài ra trên internet còn có một số bộ lọc khác nếu những bộ lọc đó bạn cảm thấy không hài lòng. Bạn cũng có thể lấy bộ lọc của AVISynth.
- Sau khi chọn xong bộ lọc, đóng video lại, vẫn để VirtualDub như thế (không tắt) để qua bước tiếp theo.
c/ Cách encode 2pass trong VirtualDub :
Pass 1 :
- Video/Compression (hoặc nhấn Ctrl+P).
- Chọn codec, rồi click vô Configure.
* DivX
cho P4
* x264 : quá nhiều thông số, nhưng bạn chỉ cần quan tâm đến các yếu tố sau :
Stats file : Chọn nơi lưu cùng với thư mục riêng (cùng với file avs ấy) để tránh gặp lỗi khi tiến hành pass 2.
Mutipass - 1st pass
ME algorithm : càng dưới cùng thì encode càng lâu
ME range : 16-64 (càng to thì càng lâu)
CABAC phải enabled
AQ Mode chọn giá trị On hoặc Variance AQ
Subpixel ME refinement : càng dưới cùng encode càng lâu, nhưng đôi khi chỉ tốn thời gian mà không được gì
B-frames : 0-16 (giá trị càng lớn càng tăng thời gian encode). Theo kinh nghiệm thực tiễn, NV đề nghị bạn cho nó giá trị là 0.
Max frame refs : 1-16. NV đề nghị bạn chỉ chọn giá trị 1.
Trellis nên để giá trị 2 hoặc Always. Nếu để 0 hoặc 1 thì nén kém hơn nhưng lại không tiết kiệm mấy thời gian.
*XVid :
Stats filename : cũng lưu cùng nơi với file avs
*True Motion cũng khai báo theo quy tắc đó.
- Tại cửa sổ chính của VirtualDub, nhấn F4 (Job Control).
- Trong cửa sổ Job Control, click Edit/Process directory...Chọn nơi lưu file avs, sau đó chọn nơi lưu file kết quả (chắc ăn nhất nên chọn cùng thư mục riêng).
- Khoan làm gì cả mà hãy trở lại cửa sổ chính để chuẩn bị pass 2.
Pass 2 :
- Khi đã xem qua pass 1 thì pass 2 bạn đã biết sẽ khai báo như thế nào rồi. Vào lại Video/Compression, chọn codec đã chọn ở pass 1->Configure
DivX, x264 : Multipass, Nth pass hoặc Multipass - Nth pass
Xvid :Two pass - 2nd pass. Ở ô Target size (kbytes), bạn nên làm phép tính. Giả sử phải 800 Kbps là video đạt. Bạn chia cho 8, rồi nhân với thời gian t của video (theo giây), cuối cùng chia cho 1024 (chưa tính audio).
((800/8)*t)/1024
VP70 : Two Pass -Second Pass - Best Quality hoặc Two Pass -Second Pass - Good Quality
- Trở lại cửa sổ Job Control, click Edit/Process directory...Chọn nơi lưu file avs, sau đó chọn nõi lưu file kết quả (chắc ăn nhất nên chọn cùng thư mục riêng).
- Kiểm tra lại thật kĩ, đặc biệt là nơi lưu file stats (x264, VP70) hay pass (XVid) phải cùng với thư mục riêng chứa file avs.
- Ở cửa sổ Job Control, click Options/When finished, sau đó chọn Sleep (Stanby, có một số máy bị lỗi), Shutdown, Hibernate.
- Click Start để tiến hành encode, chờ khoảng vài phút để xem độ ổn định. Nếu máy yếu sẽ có thể bị báo lỗi vì render không nổi.
- Xong, bạn có thể đi học, hoặc đi ngủ, hay đi ra ngoài chơi được rồi.
d/ Fast Encode : chỉ thấy DivX là thích hợp nhất vì hoàn tất nhanh nhất.
e/ Nếu máy mạnh, hãy tận dụng tối đa sức mạnh của máy :
- Máy của người viết bài này chỉ ở mức trung bình yếu nên không biết nhiều lắm. Nên tìm hiểu thêm x264 và DivX để tận dụng tiềm năng của máy.
- Nếu là CPU đa nhân thì khi render, phần mềm chưa ngốn hết toàn bộ CPU (phí phạm tiền điện và thời gian). Bạn hãy chuyển từ Normal sang Highest ở ô Processing thread priority. Thanh trượt kéo hết sang phải.
Nếu cửa sổ Render không hiện ra, bạn chuyển sang cửa sổ chính của VirtualDub, click View / Show status window
Lần sửa cuối bởi tuihaywen; 12-30-2008 lúc 09:30 PM
|