I've spent a lot of time tinkering with this problem, and I have no idea what to try next.
I downloaded an Xvid movie from Bittorrent which is in Chinese, but comes with subtitles in 3 languages, one of them being English. The movie is split into 3 parts. Each part comes with a *.idx and *.sub file. The Bittorrent download also included a trailer clip which is in English and has no subtitles. These are all avi files, and they all seem to use AC3 audio.
Every time I try to play one of these subtitled parts in BSPlayer, it crashes. Every time. When it crashes, it sometimes gives an error message (sometimes the error message says something like "bsplayer has caused an error in windows and will now close" and other times, it gives some long "Exception Handling" error message, with what looks like some memory addresses), and sometimes the BSPlayer window just disappears.
There's a readme file that comes with this movie and it recommends updating to the latest versions of Xvid, AC3 filter, Morgan Stream Switcher, and the ffdshow filter. I did the Xvid, AC3 filter, and MSS. I wasn't sure if ffdshow was really necessary (I don't know what it actually does). The readme also recommends updating DirectVobSub, for the subtitle files. After doing some searching, I did find something called VobSub, which seemed to include DVS. So, I downloaded VobSub 2.23 from
free-codecs.com and installed it. I had been meaning to update my copy of BSPlayer too [I was using version 0.8], so I did that too. Now I have version 1.02, Build 812.
After doing all that, BSPlayer kept crashing when playing this movie. I installed ffdshow. Still, BSPlayer kept crashing.
At first, I thought this might be a minor glitch, so I tried changing the Video options in BSPlayer (use VMR-9, changing aspect ratio). It made no difference.
Then I tried removing the idx/sub files from the directory. What I found was that if I just try to play the file, BSPlayer plays the file normally with no problems (except that the movie is not in English :) ). When I put the idx/sub files back in the same directory, and I try to play it again, BSPlayer crashes. This happens for all parts of the movie, except that trailer clip (which has no subtitles). So, my guess is that the problem is in the way the subtitles are being displayed.
After doing some reading in this forum, about how there is a known bug in BSPlayer in the way it handles vob-format subtitles (idx/sub), and I found this
thread which mentions adding some lines to the file "bspfilters.dat", to get DirectVobSub to work properly with BSPlayer. It seems that you can also add these same lines to the file "bspfilters.sam". Well, anyway, I opened a text-editor, and I did it both ways. I created the file "bspfilters.dat", and added the line
Code:
AddFilter {9852A670-F845-491B-9BE6-EBD841B8A613},DirectVobSub (auto-loading version)
(yes, with no semi-colon [;]), saved it, and made sure that DVS was configured to "Load when needed". Again, BSPlayer still crashed. So, I removed the "(auto-loading version)" part only, and tried BSPlayer again. No difference. I did this with both the files "bspfilters.dat" and "bspfilters.sam". I tried configuring DirectVobSub to "Always Load". No difference. Then I decided to try the other suggestion in that forum and I added the line
Code:
AddFilter {93A22E7A-5091-45ef-BA61-6DA26156A5D0},Vobsub
I made sure to add a semi-colon in front of the DirectVobSub line (I assume the semi-colon just comments out the whole line, right? it looked that way, anyway). I saved it, tried BSPlayer again, and it crashed again.
Then, after doing some reading in this forum, I discovered that the DirectVobSub/VobSub that I had installed might not be the latest version, and one of the threads included a link to the
VSFilter SourceForge site so I went there and downloaded version 2.33 and "installed" that one too, according to the instructions I found
here.
It made no difference. BSPlayer continued to crash when playing these files.
I guessed that maybe there is some conflict between DVS 2.33, and VS/DVS 2.23 (which I'd installed earlier). So, I uninstalled VS/DVS 2.23.
Still, BSPlayer keeps crashing when I try to play these files. Again, when I remove the idx/sub files from the directory, BSPlayer plays the movie normally. Also, I have some divx movies, and BSPlayer plays them all normally too. I have an older version of BSPlayer (version 0.84), and I tried using it to play these subtitled files. It also crashes.
Windows Media Player plays all the files mostly OK. One new glitch that began yesterday (it began sometime after I found and installed DVS 2.33, I think) is that for the subtitled clips, it plays the video a little slower than the audio. So, when I start playing it, it's in sync, and it gradually drifts out of sync. But before yesterday, WMP played these files completely normally. The DVS icon still shows up in the system tray, and I can still use it to bring up the DVS menu, choose the subtitle language, etc., and WMP still displays the subtitles. It just starts to go out of sync, after a few seconds of playing. I also tried removing the idx/sub files out of the directory, and WMP plays the file completely normally (no sync problems). I suppose that maybe in making one change after another, I managed to screw up even WMP :).
Also, VLC also plays these files with no problems (but with no subtitles).
Anyway, I'm really stuck on this. I don't really know what to try next. Does anybody know of a solution, other than the stuff I've already tried?
Just for completeness, I'm using BSPlayer 1.02, Build 812 (Sept. 14, 2004), DirectVobSub 2.33, Divx 5.2.1, and Xvid 1.0.2. I'm running Win2K Pro, with a 1.4 GHz AMD CPU, Geforce2 Ultra graphics card, SoundBlaster Audigy, and DirectX 9.0b.
As for the codecs being used, I'll just type out what GSpot (2.52b01) says:
Video
Code:
(Src)-->>--(A)-->[AVI Splitter ]>--(B)-->[ffdshow MPEG-4 Video Decoder ]>--(C)-->[DirectVobSub (auto loading version) ]>--(D)-->[Video Renderer ]
Audio
Code:
(Src)-->>--(A)-->[AVI Splitter ]>--(B)-->[AC3 Filter ]>--(C)-->[Morgan Stream Switcher ]>--(D)-->[Default DirectSound Device]
This is what GSpot actually uses to render the movie, with subtitles. Also, GSpot has the same syncing problem that WMP has. That is, it starts out fine, but then gradually begins to go out of sync, just like WMP. Anyway, The only curious thing that I noticed with GSPot's rendering is that, for the video, GSpot chooses to use the ffdshow MPEG-4 decoder rather than the Xvid MPEG-4 decoder. I would like to try to switch those, and use the Xvid instead, but I don't know how to do that. Well, I guess I could just uninstall ffdshow. Maybe I'll try that next.
If anybody has any better ideas, I sure would like to hear them :). Also, if anybody knows of a website that has a nice clear explanation of how DirectVobSub actually works, I'd appreciate that too. I'm pretty clueless on all this stuff.
Thanks.