View Full Version : AssFilterMod - DirectShow subtitle renderer (v0.4)
Blitzker
8th June 2016, 21:45
Hello!
For a while, i searched for an alternative to XySubFilter and when i found AssFilter by alexmarsev, i decided it was what i wanted to use. I had no idea on how to work with Directshow and this was a good learning material. So here it is, my first shot at forking a project and modifying it.
AssFilter is an Open-source DirectShow subtitle renderer based on libass and the SubRenderIntf interfaces. Like the well known XySubFilter, AssFilter don't render the subtitles on the video. It instead communicate directly with the video renderer to send the subtitles. This process allow the video renderer to do what it wants with the subtitles.
Here is some screenshot comparisons between AssFilterMod and XySubFilter:
http://screenshotcomparison.com/comparison/175218
http://screenshotcomparison.com/comparison/175219
http://screenshotcomparison.com/comparison/175220
New features and bug fixes:
Added the Settings and Status tabs
Added support for SRT subtitles
Works with built-in video renderers in MPC-HC
Fix crash when the subtitle track is changed
Use latest versions of libraries
Auto-loading of external subtitles
General Settings:
https://i.imgur.com/VjPng7m.png
Note: Only subfolders of the currently playing media file folder can be used.
SRT Settings:
https://i.imgur.com/uL7vLCE.png
In the Custom Tags edit control, you can enter Ass Tags and customize your SRT subtitles the way you want.
Ex: If you want your subtitles to be BOLD, enter {\b1}.
External Subtitles Font Folder is only used for external subtitles. You can use those fonts for both ASS and SRT subtitles.
Note: The {FILE_DIR} tag can be used to specify the folder of the media file.
Important notes:
All tags that you use in the Customs Tags will overwrite the default settings.
Settings are saved in the registry: HKEY_CURRENT_USER\Software\AssFilter
Only subtitles (ASS and SRT) subtitles are supported.
Requirements:
Visual Studio 2015 Redistributables https://www.microsoft.com/en-us/download/details.aspx?id=53840
Visual Studio 2017 x32 Redistributables https://go.microsoft.com/fwlink/?LinkId=746571
Visual Studio 2017 x64 Redistributables https://go.microsoft.com/fwlink/?LinkId=746572
Windows Vista, 7, 8, 8.1 and 10 (32 and 64 bits)
Changelog
v0.4
- add: System tray icon
- add: Selection of external subtitles in context menu of tray icon
- add: Open settings by left click on the tray icon
- add: Use of fonts in External Subs Fonts folder for SRT subtitles
- add: Libass is built with harfbuzz support
- add: Support of font ligatures
- add: Option to disable auto-load of external subtitles
- fix: Auto-load of subtitles with unicode characters
- fix: Auto-load of SRT subtitles on a different codepage than en_us
- Settings page is now split in two: General Settings and SRT Settings
- Add support for Visual Studio 2017
- Use my fork of libass
- Update libass asm building tools : Now use nasm instead of yasm
Downloads
https://github.com/Blitzker/assfiltermod/releases
Nightlies
https://www.mediafire.com/folder/w1wujgz9cyors/AssFilterMod
nautilus7
8th June 2016, 23:24
Hi, thanks for the filter. Any plans to make an avisynth plugin, something similar to masksub() filter in vsfilter plugin.
amayra
9th June 2016, 14:21
thanks for your hard work and i was thinking about is just time to update this old renderer
Jamaika
9th June 2016, 16:20
Excuse me, I not quite understand. Is it a newer version V5.00 the subtitle ASS with new features?
Blitzker
9th June 2016, 17:36
Hi, thanks for the filter. Any plans to make an avisynth plugin, something similar to masksub() filter in vsfilter plugin.
No, sorry. I don't have any plans to work on a avisynth filter at the moment.
thanks for your hard work and i was thinking about is just time to update this old renderer
:)
Excuse me, I not quite understand. Is it a newer version V5.00 the subtitle ASS with new features?
No, its a DirectShow subtitle filter (like XySubFilter) that you can use with a media player (like MPC-HC, MPC-BE) to display .ASS and .SRT subtitles. But if such a new specification of the ASS format is made available in libass, AssFilterMod will support it.
ashlar42
10th June 2016, 13:56
Hi! Really nice to see some new development on this front (subs filters). A couple of questions:
1) Speedwise how does it compare to XySubFilter?
2) How does it work in relationship with madVR? Is it capable of moving subs in black bars of 2.35:1 content, for instance?
Thanks a lot. :)
lion09503
10th June 2016, 17:56
Hey @Blitkzer
Thanks for the hard work.
I was just wondering about this.
Only subtitles (ASS and SRT) muxed in MKV files are supported.
Does this mean that it does not auto-load subtitles that have the same name as the video file? xy-vsfilter and xysubfilter both support this feature.
I also want to know whether it works together with madvr as @ashlar42 has asked.
EDIT: I'd like to report a bug that I just found. Here's a screenshot of the issue.
http://prntscr.com/bexazz
Filters currently loaded:
- AssFilterMod
- Default DirectSound Device
- madVR
- Audio Switcher
- LAV Video Decoder
- LAV Audio Decoder
- LAV Splitter
- File Source (Async.)
Blitzker
11th June 2016, 02:37
Hi! Really nice to see some new development on this front (subs filters). A couple of questions:
1) Speedwise how does it compare to XySubFilter?
2) How does it work in relationship with madVR? Is it capable of moving subs in black bars of 2.35:1 content, for instance?
Thanks a lot. :)
Hello!
1) Can't really say, but since its based on libass and its still actively developed, there is good chances that its more optimized than XySubFilter. But to be honest, i've yet to find subs that make both of them lag. If you have heavy subs that are making XySubFilter or AssFilterMod lag, let me know!
2) I've implemented basic support for moving SRT subs on my dev pc. There is a build of this version if you want to test it: https://www.mediafire.com/folder/w1wujgz9cyors/AssFilterMod
Hey @Blitkzer
Thanks for the hard work.
:)
Does this mean that it does not auto-load subtitles that have the same name as the video file? xy-vsfilter and xysubfilter both support this feature.
I also want to know whether it works together with madvr as @ashlar42 has asked.
I don't support auto-load yet, but i plan to eventually work on this feature. No ETA though.
EDIT: I'd like to report a bug that I just found. Here's a screenshot of the issue.
Do you happen to have Internal Subtitle Renderer selected in Options -> Output? This is what i get too when its selected and AssFilterMod is used. I've submitted code to mpc-hc to add AssFilter to the renderers available in the combo box so this won't happen if AssFilter is selected. In the meantime, you can just select an (**unavailable**) subtitle renderer in the list and the subs won't double like that.
lion09503
11th June 2016, 02:59
Hello!
1) Can't really say, but since its based on libass and its still actively developed, there is good chances that its more optimized than XySubFilter. But to be honest, i've yet to find subs that make both of them lag. If you have heavy subs that are making XySubFilter or AssFilterMod lag, let me know!
2) I've implemented basic support for moving SRT subs on my dev pc. There is a build of this version if you want to test it: https://www.mediafire.com/folder/w1wujgz9cyors/AssFilterMod
:)
I don't support auto-load yet, but i plan to eventually work on this feature. No ETA though.
Do you happen to have Internal Subtitle Renderer selected in Options -> Output? This is what i get too when its selected and AssFilterMod is used. I've submitted code to mpc-hc to add AssFilter to the renderers available in the combo box so this won't happen if AssFilter is selected. In the meantime, you can just select an (**unavailable**) subtitle renderer in the list and the subs won't double like that.
I see. Thanks for the fast reply. I'll wait until mpc-hc includes it. Might I also suggest raising a ticket to mpc-be?
huhn
11th June 2016, 07:45
madVR is complaining that the subtitle renderer is outdated.
there are some issues with madVR and this subtitle renderer.
but i guess this error should be fixed first.
i guess the SubRenderIntf.h is not up to date.
the newest version is from 2015-10-10.
madshi.net/SubRenderIntf.h
1) Can't really say, but since its based on libass and its still actively developed, there is good chances that its more optimized than XySubFilter. But to be honest, i've yet to find subs that make both of them lag. If you have heavy subs that are making XySubFilter or AssFilterMod lag, let me know!
there should be more than enough that will make them lag.
do you have any way to test these renderer at UHD?
i will provide some samples "later" hopefully this weekend.
Blitzker
11th June 2016, 19:44
madVR is complaining that the subtitle renderer is outdated.
there are some issues with madVR and this subtitle renderer.
but i guess this error should be fixed first.
i guess the SubRenderIntf.h is not up to date.
the newest version is from 2015-10-10.
madshi.net/SubRenderIntf.h
Thanks, this is now fixed. What was weird is that i do use the latest SubRenderIntf.h and that message wasn't there with debug builds.
there should be more than enough that will make them lag.
do you have any way to test these renderer at UHD?
i will provide some samples "later" hopefully this weekend.
Sadly, i don't have access to an UHD screen. Samples would be nice to have so i can do some "stress testing".
Blitzker
11th June 2016, 19:50
I see. Thanks for the fast reply. I'll wait until mpc-hc includes it. Might I also suggest raising a ticket to mpc-be?
I will eventually open a ticket to mpc-be but i first need to fix an issue between its internal matroska splitter and AssFilterMod.
huhn
11th June 2016, 19:53
Sadly, i don't have access to an UHD screen. Samples would be nice to have so i can do some "stress testing".
the problem is more that this renderer is always rendering in the output resolution.
xy subfilter has an option to render at native video resolution.
Blitzker
11th June 2016, 20:20
the problem is more that this renderer is always rendering in the output resolution.
xy subfilter has an option to render at native video resolution.
Yes, i'm aware that there is still much to do. I just started working on this so options like theses will eventually be implemented.
I'm still working on a priority list for features and it would be nice if people state what they think is more important to add first.
huhn
13th June 2016, 03:56
i think most people would be happy with full madVR support for all the subtitle related feature it offers.
and of cause support for all major subtitle formats. DVD subtiles what ever the name is, pgs, ass and srt.
ashlar42
13th June 2016, 10:48
Rendering at output resolution is particularly relevant for me. Seeing 720p quality subs when watching on a 1080 screen is terrible. I can't imagine how bad they must look on a 4k screen.
Thanks for working on this. I wish you all the luck possible on this project.
Blitzker
13th June 2016, 20:05
i think most people would be happy with full madVR support for all the subtitle related feature it offers.
and of cause support for all major subtitle formats. DVD subtiles what ever the name is, pgs, ass and srt.
There is a basic support for movable subtitles (SRT) already implemented but full madVR support is of course the goal.
As for DVD and pgs subtitles, and not sure about that. AssFilterMod is based on libass for the rendering of subtitles and supporting those bitmap formats would
need major work. I won't say no for now but its surely not gonna be soon.
Rendering at output resolution is particularly relevant for me. Seeing 720p quality subs when watching on a 1080 screen is terrible. I can't imagine how bad they must look on a 4k screen.
Yes, the 720p or 1080p subs rendered at 4k can indeed look bad. The problem is that rendering them at 4k require much more processing and can make more complex subtitles lag. Implementing native video resolution would avoid that lag at the cost of reduced quality.
Thanks for working on this. I wish you all the luck possible on this project.
Thanks, its a fun project to work on! :)
Q-the-STORM
13th June 2016, 23:38
Yes, the 720p or 1080p subs rendered at 4k can indeed look bad. The problem is that rendering them at 4k require much more processing and can make more complex subtitles lag. Implementing native video resolution would avoid that lag at the cost of reduced quality.
Just let the user decide...
default on Output resolution with the option to switch to native resolution... though a lot better would be output resolution and custom resolution...
most people have a 1080p screen and probably have enough processing power to always render at 1080p, so most people will be fine with output resolution...
people that have a UHD screen and don't have enough processing power will then have the option to set custom resolution...
you could either let the user set each value themselves, or just make various options... 720p, 1080p, 1440p and 2160p should be the most popular options...
rock
14th June 2016, 12:50
hi, thanks for this project.
Could you add git number to about page for nightly build?
Also, I wish you could put latest dev build link to op so they can be found easily. thanks
Blitzker
15th June 2016, 03:07
hi, thanks for this project.
Could you add git number to about page for nightly build?
Also, I wish you could put latest dev build link to op so they can be found easily. thanks
Done on the latest nightly
ashlar42
15th June 2016, 12:04
you could either let the user set each value themselves, or just make various options... 720p, 1080p, 1440p and 2160p should be the most popular options...
Well, yes. Since we are "dream designing" this, I agree that having the opportunity of independently set a relationship between video resolution and subs resolution would be ideal.
It has the added value of becoming absolutely future-proof.
huhn
15th June 2016, 12:17
and you should know that rendering styled animated ASS subtitles can be so hard that no CPU on the market can handle them.
there are already subtitle that need a fast single thread performance CPU and buffering (EVR can't buffer yet) at 1080p.
amayra
15th June 2016, 21:59
can you update source in github of latest dev builds of AssFilterMod
Blitzker
16th June 2016, 19:18
can you update source in github of latest dev builds of AssFilterMod
The "develop" branch is always up-to-date with my dev local sources.
Blitzker
20th June 2016, 23:19
AssFilterMod version 0.2 is out: https://github.com/Blitzker/assfiltermod/releases
- add: Support(incomplete) for movable subtitles (SRT)
- add: Support for drawing subtitles at custom resolution
- fix: The Apply button now activate when a change is made in Custom Tags
- fix: Random crash when the media player open a file
- fix: "Please update your subtitle renderer" message on madVR
- fix: Badly displayed subtitles with mpc-be internal mkv splitter
rock
21st June 2016, 17:41
hi, I wonder why, changing blur value doesn't look like it give any effect to me. Is it similar with \blur?
Blitzker
22nd June 2016, 20:24
hi, I wonder why, changing blur value doesn't look like it give any effect to me. Is it similar with \blur?
Sorry, this is a bug. Its now fixed. I do use the \blur tag for this setting as this seems to give the best visual effect to me.
thuan
24th June 2016, 10:42
Hi dev, can you implement external subtitle loading? I think it's one of the main feature for a subtitle renderer. I can switch to this completely if we have this feature.
Blitzker
25th June 2016, 20:36
Hi dev, can you implement external subtitle loading? I think it's one of the main feature for a subtitle renderer. I can switch to this completely if we have this feature.
Its on my to-do list but i can't give you an ETA. Will probably work on this over the summer.
Magik Mark
25th June 2016, 23:31
Support for Colored subtitle as well pls
Magik Mark
7th July 2016, 00:50
How do I use this in mpc be?
options external filters -> add filter "AssFilterMod" -> prefer
Volfield
7th July 2016, 19:20
Possible bug. Can't register dll on my ATOM Z3735F Tablet. Windows 10 X86 10586
have you tried it as admin?
Volfield
8th July 2016, 04:35
Yes. I also try my old netbook with atom and didn't work either. On i5 laptop and pentium deskop works ok. All machine windows 10 assfilter x86.
amayra
9th July 2016, 09:54
can you add reset bat file or button ?
Blitzker
10th July 2016, 00:52
Yes. I also try my old netbook with atom and didn't work either. On i5 laptop and pentium deskop works ok. All machine windows 10 assfilter x86.
Did you try to open an admin command prompt and manually register the filter? As i don't have Win 10, i can't help you much with this issue. Sorry
can you add reset bat file or button ?
Yes, i will add a reset button.
Volfield
10th July 2016, 15:39
I use same method to XySubfilter and it works. Maybe your renderer use some cpu instructions where there is no in ATOM CPU?
EDIT
According to this : https://support.microsoft.com/en-us/kb/249873 i have this problem:
"The module ""%1"" failed to load.\n\n Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.\n\n%2."
Maybe i don't have some dlls required to install?
Blitzker
10th July 2016, 17:43
I use same method to XySubfilter and it works. Maybe your renderer use some cpu instructions where there is no in ATOM CPU?
EDIT
According to this : https://support.microsoft.com/en-us/kb/249873 i have this problem:
"The module ""%1"" failed to load.\n\n Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files.\n\n%2."
Maybe i don't have some dlls required to install?
Just to be sure, do you have the Visual Studio 2015 redists installed? If not, you can get them here: https://www.microsoft.com/en-us/download/details.aspx?id=51682
Another thing to try is to open an admin command prompt where assfiltermod.dll is then type:
regsvr32.exe <path to assfiltermod.dll>\assfiltermod.dll
Replace <path to assfiltermod.dll> with the full path to assfiltermod (ex: c:\mpc-hc\filters)
I'm not sure if it will work but its worth a try.
Volfield
10th July 2016, 20:16
Visual Studio 2015 redists do the trick. Thanks for help. You should add this info to first post :)
Blitzker
10th July 2016, 23:14
Visual Studio 2015 redists do the trick. Thanks for help. You should add this info to first post :)
Good, i'm happy that was something easy to fix! The info was in the readme on github but i forgot to add it on the first page.
Magik Mark
13th July 2016, 06:55
I set the font to be franklin Gothic size 40. It still keep on displaying MS Sanserif. Is this possible to correct?
SecurityBunny
16th July 2016, 11:04
Interesting project! Hopefully it'll surpass XySubFilter in performance and features in due time and continue to have active development. :)
Just out of curiosity, why were you searching for an alternative to XySubFilter?
Blitzker
16th July 2016, 18:30
I set the font to be franklin Gothic size 40. It still keep on displaying MS Sanserif. Is this possible to correct?
I tested it on both Windows 7 and 8.1 and it works fine for me. Is it the only font you have problems with?
Interesting project! Hopefully it'll surpass XySubFilter in performance and features in due time and continue to have active development. :)
Just out of curiosity, why were you searching for an alternative to XySubFilter?
:)
I just wanted a directshow filter based on the library libass since its still actively developed and an easy project to work on. :sly:
cyberscott
17th July 2016, 23:30
I'm glad that you started this project! :thanks:
I stopped using XySubfilter a few years ago when I started upscaling my videos to 4K. It was buggy and very resource intensive at 2560x1440 and even worse at 4k rendering. (I upscale to 4k with madvr, mpc-hc and lav)
Even the built in subtitle renders in MPC-HC and BE could not do 4K subs with out errors, crashes, etc.
AssFilterMod is able to render 4k subs without crashing the video players that I use with my test videos. I do run into some slow downs if there is a lot of animated subs being displayed at the same time or larger, animated fonts being displayed. Not the render's fault, of course as a lot of resources are being used at 4k.
I like consistency in my playback so I usually use 2560x1440 for the subs on my 4K up-scales. There is not a huge difference in quality, IMHO, between 4k and 2560x1440 rendered subs and it plays some of the more aggressive subtitles without losing frames. Plus, compared to internal sub renders at the same 2560 resolution, AssFilterMod looks better and doesn't use much more rendering power. :D
At least now, I have the option to use 4k sub rendering if I so choose.
I look forward to your continued development of this project! :)
Magik Mark
17th July 2016, 23:46
Blitzker,
When setting font, does it have to be within the filter or player? I'm using mpc be and dsplayer. The font being used differ from time to time. I was thinking maybe there is something in the srt file it self. Im using windows 10 pro x64
amayra
20th July 2016, 11:23
Blitzker,
When setting font, does it have to be within the filter or player? I'm using mpc be and dsplayer. The font being used differ from time to time. I was thinking maybe there is something in the srt file it self. Im using windows 10 pro x64
usually you set font in filter But in your case this depends you renderer priority (merit)
Magik Mark
20th July 2016, 12:33
usually you set font in filter But in your case this depends you renderer priority (merit)
How do I change this in the renderer? I use lav filter and madvr
Sent from my iPhone using Tapatalk
amayra
20th July 2016, 19:28
How do I change this in the renderer? I use lav filter and madvr
Sent from my iPhone using Tapatalk
https://s32.postimg.org/6zyjaouit/2016_07_20_19_12_44.png
this for MPC-Like
1 - Go to "External Filters", press "Add Filters" and add all of: DirectVobSub, AssFilterMod and XySubFilter
2 - From the right side, change the preference of each of those filters to "Block" except AssFilterMod
3 - Set the preference of AssFilterMod to "Prefer"
i hope this will help you
Virtual_ManPL
17th August 2016, 13:35
Thank you very much for the AssFilterMod ! :thanks:
I did some quality comparison for subtitle renderers.
For this I used file "[FTV-subs] Touhou - Bad Apple!! PV [960x720] v2.mkv" with "simple karaoke" (first track) subtitles.
fullscreen mode in 1680x1050 resolution
- AssFilterMod 0.2.1 [harfbuzz]
http://i.imgur.com/j5GAnpl.png
- AssFilterMod 0.2.1 [885515f]
http://i.imgur.com/A4g0r3h.png
- XySubFilter 3.1.0.746 BETA3
http://i.imgur.com/EdidGLE.png
- MPC-HC 1.7.10.252
http://i.imgur.com/PeLFVAp.png
- xy-VSFilter 3.0.0.306
http://i.imgur.com/9PQYnJ8.png
windowed mode in enabled "Auto-zoom:" with set "Auto Fit" and "Auto fit factor:" set to "75%" in MPC-HC:
- AssFilterMod 0.2.1 [harfbuzz]
http://i.imgur.com/PXytcCs.png
- AssFilterMod 0.2.1 [885515f]
http://i.imgur.com/QEopXk9.png
- XySubFilter 3.1.0.746 BETA3
http://i.imgur.com/03RDKlg.png
- MPC-HC 1.7.10.252
http://i.imgur.com/ZqIAFiZ.png
- xy-VSFilter 3.0.0.306
http://i.imgur.com/Aqkl0mY.png
My opinions and observations:
- xy-VSFilter isn't usable in this days, because of awful and terrible subtitle rendering quality
- XySubFilter produces a little more sharper subtitles than MPC-HC
- AssFilterMod produces sharpest subtitles, compared to XySubFilter, MPC-HC and xy-VSFilter
- AssFilterMod [harfbuzz] produces a little more sharper subtitles than AssFilterMod
Vertical subtitles are smaller in AssFilterMod (at least with this file), compared to XySubFilter, MPC-HC and xy-VSFilter. Is it a bug?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.