There are services but some but most aren't cheap.
Here's something I've done though. If you're deaf you'll likely need help with part of it but this little "trick" could save some time.
Youtube now has "Automatic Captioning". This means the captions are machine generated. This also means that the captions won't be all that accurate. But it can still be helpful because you can download the subtitles and correct any mistakes it makes (There will be many of them). But, the timing will be pretty good. It's mainly just words you'll need to change. And timing the subtitles text is the most time consuming part of the task of making them.
So, upload your video to youtube (Set it as private if you don't want others to see it). Let youtube generate it's CC. Then download them and correct them.
I know this isn't the best solution for all situations. But I just thought I'd share that little "Short cut".
I hope that helps someone.
Ron Jaxon