[Fansubbing] Hướng dẫn sử dụng Aegisub 1.1

delacroix01

Eroge Addict
Messages
852
Reaction score
131
Points
43
Credits
0
Gắn sub vào video : Có 2 cách để gắn sub vào video : Softsub hoặc hardsub. Mỗi cách có những lợi thế cũng như nhược điểm riêng của nó. Sau đây tôi sẽ giải thích sơ qua.

Hardsubbing : Sub chuyển thành 1 phần hình ảnh nằm trong video, giống như sub VHS. Loại sub này ko tắt đi được.

Ưu điểm :

- Tốn ít tài nguyên hệ thống hơn so với softsub, cho phép play ở máy có cấu hình thấp hơn khi play softsub. Điều này là do phần text đã trở thành 1 phần hình ảnh nằm trong video nên play file có sub cũng ko khác gì play file raw. Bạn có thể sử dụng nhiều effect đặc biệt mà thường ko thể dùng với softsub vì rất nặng, có thể kéo playback xuống mức chậm khủng khiếp, ví dụ như karaoke.
- Khó chôm sub hơn softsub, vì ko dễ extract ra. Tuy nhiên có 1 số chương trình cho phép tách chữ bằng cách nhận dạng hình ảnh. Phương pháp này gọi là OCR (Optical Character Recognition). Tôi ko rành về vấn đề này. Ai thích thì tự tìm hiểu lấy.
- Ko phụ thuộc vào việc play bằng soft nào. Nhiều player ko hỗ trợ styled sub, hoặc máy bị thiếu font trong khi font chưa được gắn vào container nên sub ko hiện đúng. Với hardsub thì ko phải lo vì play ở đâu cũng hiện sub y chang.

Nhược điểm :

- Phải encode sub vào video, mà video sau mỗi lần encode lại chất lượng chắc chắn sẽ bị giảm. Quá trình encode lại rất tốn thời gian và tài nguyên hệ thống.
- Sub có 1 độ tương phản khá rõ rệt với hình ảnh trong video, nên khi encode sẽ tạo ra nhiễu ở các cạnh của sub, làm sub bị blur đi. Bitrate càng thấp thì càng thấy rõ điều này. Ngoài ra lúc encode nếu làm ko đúng có thể cào bay mất sub. Neutral Trường hợp này tôi đã từng gặp.

- Gắn sub vào sẽ làm cho video trở nên khó nén hơn. Muốn hiểu rõ tại sao thì tìm hiểu về encoding sẽ rõ. Vì vậy sẽ cần bitrate lớn hơn để giữ chất lượng video --> Filesize lớn hơn, hoặc giữ nguyên filesize nhưng giảm chất lượng video.

Softsubbing : Sub nằm tách biệt với phần video, ko encode vào video. Muốn hiện sub hay tắt đi đều được. Digital softsub khác với DVD softsub ở chỗ softsub của các định dạng này là text, trong khi DVD softsub lại là hình ảnh. Chính vì thế, việc edit thoải mái và dễ dàng hơn nhiều. Hơn nữa, sub trông đẹp hơn hẳn so với DVD softsub nhờ có style và các effect mà bạn đã tìm hiểu.

Ưu điểm :

- Softsub ko nằm trong phần hình của video nên ko bị ảnh hưởng bởi video compression, nên dễ nhìn hơn. Chỉ cần 1 subtitle renderer tốt là có thể xem thoải mái.
- Có thể điều chỉnh lại khi play cho dễ nhìn hơn.
- Hỗ trợ đa ngôn ngữ.
- Dễ sửa chữa. Nếu phát hiện sai sót, chỉ cần sửa sub rồi mux lại rất nhanh, ko cần mất thời gian encode lần nữa.

Nhược điểm :
- Phải render cùng với video khi play nên máy yếu sẽ gặp vấn đề khi play softsub. Ko thể dùng với những effect quá nặng như karaoke.
- Rất dễ bị chôm
- Phụ thuộc vào media player. Nhiều player ko hỗ trợ softsub, ko hỗ trợ styled sub sẽ gây nhiều lỗi khi play.
- Ko nên dùng AVI hay OGM để chứa softsub. Tốt nhất là dùng MKV.
- Muốn convert lại ko dễ đối với người ko rành về encode.
- File có softsub có thể nhỏ hơn, vì ko cần tốn thêm bitrate cho sub. Tuy nhiên, thường thì ko hẳn vì phải kèm thêm font vào container. Font có thể rất bé (nếu chỉ chứa western script), cũng có thể lớn (font Chinese, Japanese)

Nên xài cái nào ? Xài cái nào là tùy mục đích của bạn. Nếu muốn file có thể chạy được trên các máy yếu thì nên dùng hardsub. Có điều các máy mới gần đây đều đủ sức play tốt file softsub nên ko cần lo nhiều lắm về vụ này. Thông thường sẽ là softsub phần dialog và hardsub karaoke.

Cách thực hiện : Chi tiết sẽ nói trong phần khác. Ở đây tôi chỉ nêu nguyên lý.

Softsubbing : Dùng mkvmerge (nằm trong bộ mkvtoolnix. Google sẽ thấy)

Hardsubbing : Có thể dùng AVISynth kết hợp với bất cứ encoder nào hoặc dùng VirtualDub. Nếu ko biết dùng AVISynth thì copy file vsfilter.dll trong thư mục plugin của AVISynth vào thư mục plugin của VirtualDub và làm như trong hướng dẫn VirtualDub mà tôi đã viết. Nếu dùng AVISynth thì tạo 1 file AVS dạng như sau :

AVISource(“raw.avi”)
TextSub(“OP karaoke.ass”)
TextSub(“Dialogue.ass”)
TextSub(“ED karaoke.ass”)

Sau đó dùng 1 trình encoder nào đó hỗ trợ file AVS (VirtualDub, VirtualDubMod, meGUI…) để encode.
 

delacroix01

Eroge Addict
Messages
852
Reaction score
131
Points
43
Credits
0
Tọa độ trong drawing mode :

Do có nhiều người vẫn chưa hiểu rõ lắm về drawing mode nên tôi sẽ hướng dẫn thêm 1 chút. Quan trọng nhất khi sử dụng drawing mode là cần chú ý về mặt tọa độ. Thực tế điều này khá đơn giản chứ ko khó như nhiều người hay nghĩ. Chú ý là các ví dụ dưới đây dùng để minh họa được áp dụng với video có resolution là 640x480 (tâm là điểm (320, 240)).

Đầu tiên, việc cần nhớ là hệ tọa độ dùng trong drawing mode có gốc tọa độ ko giống với hệ tọa độ trong giao diện Aegisub. Khi vào drawing mode, hình sẽ được vẽ trong hệ tọa độ này, sau đó thông qua alignment và margin của style mà hiện lên trong video sau khi ra khỏi drawing mode. Bạn ko cần phải biết thuật toán đổi trục tọa độ ra sao mà chỉ cần biết hình hiện lên có đúng như bạn mong muốn ko là đủ.



Hình 1 và 2 là hình vuông có cạnh = 20 được vẽ ra bởi đoạn mã trong hình 3 ở 2 chế độ \an8 (H1) và \an5 (H2). 2 đường màu đỏ là trục tọa độ trong drawing mode. Chữ O màu xanh là gốc tọa độ trong drawing mode. Như bạn thấy trong hình thì gốc tọa độ này ko phải lúc nào cũng trùng aligment origin mà thường thì nằm ở vị trí khác. Ngoại trừ \an5 thì 8 chế độ align còn lại đều bị ảnh hưởng bởi margin (H1, vertical margin=10).

Việc vẽ luôn bắt đầu với lệnh move, cho dù bạn vẽ bắt đầu từ gốc tọa độ đi nữa. Để đơn giản, trong hình 3 tôi đã move đến điểm O(0, 0). Tiếp theo là sử dụng lệnh line vẽ lần lượt đến các điểm (20, 0), (20, 20), (0, 20). Sau mỗi lần vẽ, con trỏ sẽ được di chuyển tới điểm tiếp theo. Bạn ko cần phải quay lại điểm đầu tiên (ở đây là O) sau khi vẽ xong vì khi có từ 3 điểm trở lên thì hình sẽ tự động được đóng và fill sau khi ra khỏi drawing mode. Cuối cùng, hình mới được align lại. Nếu có các override tag như \pos hay \anX thì hình vẽ sẽ chịu ảnh hưởng của các tag này. Bạn thử áp dụng vẽ 1 vật bất kỳ, thay đổi tọa độ các điểm sẽ hiểu rõ hơn về các lệnh này.

Với các hình có các đường cong, bạn phải hiểu về đường bezier để có thể sử dụng tốt các lệnh b, s, p. Về các lệnh vẽ thì bạn có thể lật lại phần ASS override tags để tham khảo. Phần giải thích về đường bezier bạn có thể tham khảo link wiki post ở trên. Nếu muốn hiểu 1 cách trực quan hơn, bạn có thể vẽ các đường này trong các soft có hỗ trợ vẽ đường này, chẳng hạn After Effect. Phần này thực ra cũng khá đơn giản. Bạn chỉ cần thí nghiệm 1 lúc là có thể hiểu được. Sau đây là vd vẽ 1 hình hơi tròn sử dụng \an5 và 2 đường bezier (mỗi đường có 2 điểm uốn) :


Kết quả :

Nếu hình hiện lên ko đúng vị trí thì bạn có thể override bằng tag \pos hoặc cộng hay trừ thêm 1 đoạn vào các tọa độ.

Chú ý : Với bộ cài đặt Aegisub 1.1 thì hiện nay khi cài đặt sẽ ko thể cài AVISynth, do link trong đó là của bản cũ đã bị xóa. Cứ bỏ qua lỗi, cài hết rồi down AVISynth 2.5.7 (stable) về là xong.

Code:
http://sourceforge.net/project/showfiles.php?group_id=57023
 

delacroix01

Eroge Addict
Messages
852
Reaction score
131
Points
43
Credits
0
http://aegisub.cellosoft.com/docs/Karaoke_Templater_Tutorial_1

50119 said:
vừa mò xong cái này chia sẻ kinh nghiệm với những ai làm karaoke = ass luôn :))

note: nắm rõ cách dùng SSA và override tags trước khi đọc cái này
curve text: well, bắt chước phần này bên after effects, tuy thực hiện = ASS rất hạn chế nhưng có hơn không :ererer:
bên ass, nếu muốn tạo đường cong cho chữ nếu dùng rotation đơn thuần + position sẽ rất khó tính toán, nên ở đây ta sẽ dùng 1 cách khác là đặt tâm cách thật xa và xoay chữ quanh tâm đó:
tuy nhiên, tới đây nảy sinh 1 vấn đề nữa, đó là chữ xoay không giống như nằm trên 1 đường cong, thứ 2 nữa là sẽ rất khó để làm những effect khác đi kèm theo có liên quan tới tâm như fscx, fscy, move,... để giải quyết vấn đề này, thay vì dùng \org định vị tâm, ta sẽ đặt vào đấy 1 cái vector bên trên chữ và xoay cả khối đó, như vậy vừa có thể dùng \move, \fscx, \fscy mà còn rất nhiều cái lợi khác như làm chữ rung,... bằng cách transform cái vector đó nữa:
và sau khi dùng \alpha để che mấy cái vector đi, ta được:
well, lí thuyết là thế, giờ tới karaoke >:)
tới phần karaoke thì tính toán góc xoay là chủ yếu, trước tiên tìm tâm đường tròn muốn xoay quanh, tính góc xoay của từng char bằng char position và tâm đường tròn lúc nãy, kết hợp với transforming ta sẽ được dòng chữ chạy từ 1 bên sang bên kia theo 1 đường cong:


ở đây tớ vẽ 1 hình vuông 100x100 để cho tiện animate size của nó theo đúng ý mình

have fun :ererer:
 

delacroix01

Eroge Addict
Messages
852
Reaction score
131
Points
43
Credits
0
http://malakith.net/aegisub/index.php?topic=956.0

Cách sử dụng Kanji timer cho Aegisub 2.

AVS overlay in karaoke

50119 said:
Some may be interested in this:

TextSub

Scrshot
MaskSub

Scrshot

ngoài ra dùng cách này còn tạo ra vô số effect khác được nữa khi qua avisynth, ending Gundam 00 S2 của jfs (Mendoi-Conclave) là 1 ví dụ :))
vsfilter mod: http://code.google.com/p/vsfiltermod/wiki/NewTags
 
Top