Tất cả phần mềm được sử dụng trong bài viết này đều miễn phí. Bài viết này thảo luận về việc chuyển đổi phụ đề cứng nhúng trong tệp video thành phụ đề mềm trong tệp phụ đề. Tôi chủ yếu quan tâm đến việc làm điều này cho các bộ phim JAV đã được gán cứng phụ đề tiếng Việt tại trang vlxx, javhd, tuy nhiên tôi cũng hơi quan tâm đến việc làm điều này cho các phụ đề tiếng Việt ở những phim tàu. Lướt mạng nhiều và tôi vô tình phát hiện ra một bài viết nói về một tập lệnh script AviSynth có tính năng tương đương như phần mềm VideoSubFinder (VSF) (https://sourceforge.net/projects/videosubfinder/). Đó là tập lệnh InpaintDelogo (IPDL) (https://github.com/Purfview/IPDL).
Có vẻ như IPDL có thể tạo ra các hình ảnh phụ đề chính xác hơn đáng kể so với VSF. Được đổi lại, phần mềm nhận dạng ký tự quang học (OCR) có thể trích xuất các phụ đề chính xác hơn đáng kể từ những hình ảnh này. Những gì tôi đã đọc và nhìn thấy đã thuyết phục, vì vậy tôi muốn thử nghiệm nó bằng chính mình.
Sau khi IPDL tạo ra các hình ảnh của phụ đề, cần sử dụng phần mềm OCR riêng để trích xuất phụ đề từ các hình ảnh. Điều này cũng tương tự với VSF. Phần mềm Subtitle Edit (https://www.nikse.dk/subtitleedit) có nhiều công cụ OCR tích hợp để lựa chọn. Subtitle Edit cũng tạo ra tập tin phụ đề, vì vậy rất thuận tiện để sử dụng.
Cài đặt InpaintDelogo
Tôi đã cảm thấy hơi lo lắng khi cố gắng tìm hiểu cách cài đặt phần mềm như IPDL. Nhưng, nó không khó như tôi nghĩ. IPDL có thể được cài đặt trên MacOS, nhưng tôi đã cài đặt nó trên Windows 11 64-bit. Vì vậy, đó là điều mà tôi sẽ mô tả chi tiết.
AviSynth+
IPDL is a script that runs in the AviSynth+ software. AviSynth+ is a powerful tool for editing and processing videos. Go to https://github.com/AviSynth/AviSynthPlus. On the right side of the page, click on the “latest” button. On the next page, scroll to the bottom of the page. Click on the file for your computer and operating system to download it. I picked AviSynthPlus_3.7.2_20220317_vcredist.exe. After it’s downloaded, double-click on it to install it. One of the many folders created is the folder below for 64-bit Windows.
C:\Program Files (x86)\AviSynth+\plugins64+
Tiếp theo, một chuỗi dài các tệp từ AvsInpaint đến IPDL cần được tải xuống và đặt vào thư mục plugin phía trên. Các bước cho mỗi tệp tương tự. Nhưng, đối với ai đó mới vào cuộc như tôi, đôi khi không rõ phải làm gì. Vì vậy, tôi nghĩ rằng viết ra các bước cho mỗi tệp sẽ tốt hơn.
AvsInpaint
AvsInpaint is a plugin for AviSynth+. Go to https://github.com/pinterf/AvsInpaint. On the right side of the page, click on the “latest” button. On the next page, click on the file AvsInpaint-v1.3.7z to download it. Then, double click it to uncompress it. (If it doesn’t uncompress, search the internet and download and install free software that uncompresses *.7z files, e.g., https://www.7-zip.org/download.html.) In the subfolder x64, there’s a file named AvsInPaint.dll. Move it to the plugins folder.
MaskTools2
Go to https://github.com/pinterf/masktools. On the right side of the page, click on the “latest” button. On the next page, click on the file masktools2_v2.2.30.7z to download it. Uncompress it. In the subfolder x64, there’s a file named masktools2.dll. Move it to the plugins folder.
RgTools
Go to https://github.com/pinterf/RgTools. On the right side of the page, click on the “latest” button. On the next page, click on the file RgTools-v1.2.7z to download it. Uncompress it. In the subfolder x64, there’s a file named RgTools.dll. Move it to the plugins folder.
GRunT
Go to https://github.com/pinterf/GRunT. On the right side of the page, click on the “latest” button. On the next page, click on the file GRunT-v1.02.7z to download it. Uncompress it. In the subfolder x64, there’s a file named grunt.dll. Move it to the plugins folder.
RequestLinear
Go to https://github.com/pinterf/TIVTC. On the right side of the page, click on the “latest” button. On the next page, click on the files TDeint-v1.8.7z and TIVTC-v1.0.26.7z to download them. Uncompress them. In the subfolders x64, there are files named TDeint.dll and TIVTC.dll. Move them to the plugins folder.
ClipBlend
Go to http://avisynth.nl/index.php/ClipBlend. On the right side of the page, next to the word “Download,” click on the file “ClipBlend_25_26_x86_x64_dll_v1-01_20181127.zip” to download it. Uncompress it. In the subfolder Avisynth+_x64, there’s a file named ClipBlend_x64.dll. Move it to the plugins folder.
RT_Stats
Go to http://avisynth.nl/index.php/RT_Stats. On the right side of the page, next to the word “Download,” click on the file “RT_Stats_25_26_x86_x64_dll_v2.00Beta12_20181125.7z” to download it. Uncompress it. In the subfolder Avisynth26_x64, there’s a file named RT_Stats_x64.dll. Move it to the plugins folder.
FrameSel
Go to http://avisynth.nl/index.php/FrameSel. On the right side of the page, next to the word “Download,” click on the file “FrameSel_x86_x64_dll_v2-20_20180420.zip” to download it. Uncompress it. In the subfolder Avisynth+_x64, there’s a file named FrameSel_x64.dll. Move it to the plugins folder.
GrainFactory3
Go to http://avisynth.nl/index.php/GrainFactory3. The following instructions are different than all the previous ones. On the right side of the page, next to the word “Download,” right click on the file GrainFactory3.avsi. Select “Save Link As...” In the window that pops up, click the Save button. Move this file to the plugins folder.
vsTEdgeMask
Go to https://github.com/Asd-g/AviSynth-vsTEdgeMask. On the right side of the page, click on the “latest” button. On the next page, click on the file vsTEdgeMask-1.0.1.7z to download it. Uncompress it. In the subfolder x64/Releases, there’s a file named vsTEdgeMask.dll. Move it to the plugins folder.
InpaintDelogo
Go to https://github.com/Purfview/IPDL. The following instructions are different than all the previous ones. Click on the green “Code” button, and select “Download ZIP.” Uncompress it. Move the file InpaintDelogo.avsi to the plugins folder.
LSMASHSource
Go to http://avisynth.nl/index.php/LSMASHSource. On the right side of the page, next to the word “Download,” click on the link “L-SMASH-Works.” On the next page, click on the file L-SMASH-Works-20220505.7z to download it. Uncompress it. In the subfolder x64, there’s a file named LSMASHSource.dll. Move it to the plugins folder.
AvsPmod
Last, it’s easier to use AvsPmod to run IPDL. Go to https://github.com/gispos/AvsPmod/releases. Click the 64-bit file AvsPmod_v2.7.1.8_.Windows_x86-64.zip to downloaded it. Uncompress it. Open the folder AvsPmod_v2.7.1.8_.Windows_x86-64. Then, open the folder AvsPmod. Right click on the file AvsPmod.exe, and select Run as administrator. Finish the installation. Optional: Create a desktop shortcut of AvsPmod.exe by right clicking it, selecting “Show more options,” selecting “Create shortcut,” and moving the shortcut to the desktop.
Okay, so, that wasn’t too bad, was it?
Chạy InpaintDelogo và VideoSubFinder
Trước khi thực hiện việc "tách" phụ đề thành hình ảnh từ một video, tôi cần xác định chính xác vị trí của các phụ đề trong video. Đoạn mã dưới đây là một ví dụ để thực hiện việc này. Trong ví dụ này, DASS-357[Vietsub].mp4 là tên của video, và nó được lưu trong thư mục A:\phim\. Bốn con số đại diện cho số pixel từ bên trái, trên, bên phải và dưới của video, tương ứng. Bốn con số 0,610,0,-14 được chọn ngẫu nhiên, chỉ là một điểm khởi đầu.
LWLibAvVideoSource("A:\phim\DASS-357[Vietsub].mp4") InpaintLoc(Loc="0,610,0,-14")
Tôi đã thay đổi các số ở phần trên và dưới, trong khi nhấn F5 mỗi lần, cho đến khi vùng được làm nổi bật thu hẹp vào phụ đề. Bạn cần canh chỉnh sao cho "vùng mặt nạ" phải bao được hết 2 dòng phụ đề . Tôi đã quyết định về bốn con số sau: 0,610,0,-14.

Vùng được làm nổi bật cũng được gọi là mặt nạ. Một mặt nạ động được sử dụng để tạo hình ảnh của một loạt các phụ đề trong một video. Tùy chọn DynMask3 trong IPDL có vẻ phù hợp với nhiều bộ phim JAV từ trang vlxx hay javhd, vì cách phụ đề được định dạng. Tôi đã sử dụng đoạn mã đơn giản dưới đây. Thực sự, tôi đã có được kết quả tốt hơn với đoạn mã đơn giản này so với những đoạn mã phức tạp hơn mà tôi đã thử. Có thể là do tôi bắt đầu với một video chất lượng cao nên nó không cần nhiều công việc phụ trợ.
LWLibAvVideoSource("A:\phim\DASS-357[Vietsub].mp4") InpaintDelogo(Loc="0,610,0,-14", \ DynMask=3, DynTune=200, Dyn3Seq=8, \ Extract=1, Show=4, \ ImgDir="A:\tmp")
https://github.com/Purfview/IPDL/blob/main/IPDL.avsi
https://forum.doom9.org/showthread.php?p=1883832
Cuối cùng, để tạo ra các hình ảnh của phụ đề, hãy mở AvsPmod và sao chép-và-dán tập lệnh ở trên vào đó. Nhấn phím F5 để chạy tập lệnh. Quá trình xử lý video có thời gian mất 21 phút cho video có độ dài 02:04:19. Các hình ảnh của phụ đề được lưu trong thư mục hình ảnh A:\tmp
Đối với VSF, hãy tải nó từ https://sourceforge.net/projects/videosubfinder/. Việc cài đặt nó rất dễ dàng. Để biết hướng dẫn chạy nó, kèm theo hình ảnh minh họa, xem tại https://www.videoconverterfactory.com/tips/extract-hardcoded-subtitles.html.
KẾT LUẬN
Không có nhận xét nào:
Đăng nhận xét
Cám ơn bạn đã để lại nhận xét