Video Player Error - 13

Issue #4 new
TitanAnteus created an issue

Sometimes when I load a video on a weak computer I get Video Player Error - 13. What does this error mean?

Comments (20)

  1. Peter Hall repo owner

    Okay, so -13 means that the FFmpeg libraries have failed to decode enough data from the video on startup to actually play anything. Just looking at my side of the code this /should/ be the same on any computer, but I guess there could be a problem inside FFmpeg (or with the way I'm calling it) that would cause this to happen intermittently.

    Do you have access to a computer that does this to test some stuff? If so, could you get: - If it's a Windows PC, the output of dxdiag (http://windows.microsoft.com/en-us/windows-vista/run-directx-diagnostic-tool should do that on post Vista Windows PCs) would be really useful. If it's not, is it Linux of OSX (or a mixture)? - When you say sometimes, roughly how often are we talking - every other time, 1 time in 10? - What codec are you using when you see the error? Does changing codec make a difference to the error? (different codecs in FFmpeg do different things behind the scenes) Are you able to send me the video you're using? - If you download Player from here: http://www.mplayerhq.hu/design7/news.html does it have the same problem? It's also using FFmpeg under the hood so it would give me some clues on where to start looking?

    Sorry about the delay (and the huge list of questions)!

    Pete.

  2. TitanAnteus reporter

    I don't think it's a problem with the video. It works on some computers but doesn't work on others.

    Here's the dxdiag file: https://dl.dropboxusercontent.com/u/290810203/DxDiag.txt

    Well, it's one of my users this error's appearing on so I can middle-man questions to him.

    It happens every time on this person's computer.

    Ummm... I've only ever used one codec and that's the x264 codec i believe. I can't send you the video I'm using sorry :(

    I'll ask about the player.

  3. TitanAnteus reporter

    To be honest, the two computers I've seen have this error have both been extremely powerful machines. You said earlier that the ffmpeg libraries have failed to decode enough data, so I'm inclined to believe that maybe the machines were trying to rush the job? It could be a code order thing, or just making sure that a step actually happens on extremely fast machines.

    I don't know. I'll get back to you on that mplayerhq.hu thing.

  4. Peter Hall repo owner

    Okay - I know that FFmpeg does decode some codecs using multiple threads, so maybe I need to wait for other threads to do some work, I'll take a look at that to see if I can see something I might be missing...

  5. Peter Hall repo owner

    Just to reply to your other message and keep you informed, I've been busy over Christmas and then hitting problems with this issue:

    http://bugs.yoyogames.com/view.php?id=19975

    which is currently stopping me from testing anything. However, I have a test version of the videoPlayer.dll almost ready which should log a more detailed error to a text file so I can track it down further. Hopefully there will be a GameMaker update to fix this in the next day or two.

    Sorry about the delay...

  6. Peter Hall repo owner

    Okay, GameMaker starting problems resolved now. Here is a new version of the dll only:

    https://www.dropbox.com/s/9kkb3k965qd9ko8/videoPlayer.dll?dl=0

    If you drop this in your built project to replace the original version, it should produce a videoPlayerLog.txt file when you play the video.

    If you're able to run this on a machine with the problem and send me the resulting logfile hopefully I can figure out more about the problem.

    Let me know how it goes,

    Pete.

  7. Peter Hall repo owner

    So, going through what we know: - Most people don't have a problem - One/a couple of people (not sure?) have seen this error - It's saying there is no audio in the video file The first thing I would check is to make sure that their version of the video file isn't corrupt. I'd do this using something like this: http://www.winmd5.com/ Ideally you run it on the version of the video you know works and it gives you a hex number. Then they run it on their version and they get a number. If the two numbers match then the files match and it's not the file. If the two numbers are different then their version of the file is corrupt and that would explain why it isn't playing.

    Are you able to give me the video file to check over in the player myself? I have access to a few different machines and might be able to reproduce the problem...

    Sorry again for the delay replying to this!

    Pete.

  8. TitanAnteus reporter

    I'm sorry I can't give you the video file :(

    The file is not corrupt however. Does the video need to have audio to work? Because it doesn't.

  9. Peter Hall repo owner

    The file shouldn't need to have audio.

    If you start your game by clicking play in GMS, get to the point where the video is playing and close the game, the CompileForm window should show some output like this:

    Input #0, matroska,webm, from 'C:\Users\Peter\AppData\Local\Temp\gm_ttt_53826\gm_ttt_52823\cttVideoPlayer/chaplin.webm': Metadata: encoder : Lavf56.19.101 Duration: 00:00:59.52, start: 0.000000, bitrate: 1047 kb/s Stream #0:0: Video: vp8, yuv420p, 854x480, SAR 1:1 DAR 427:240, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default) Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp (default) [swscaler @ 0544D720] No accelerated colorspace conversion found from yuv420p to bgra.

    Can you copy paste that in here so I can create a video using the same codec + stream layout to test with?

    Also, are you arranging to check the md5s like I mentioned above?

    Pete.

  10. TitanAnteus reporter

    Yes I definitely checked the md5s like you mentioned. It was a little redundant though since they're receiving the files through dropbox file sharing, so if their file is corrupt that means mine is too.

    EH?

    I'm not getting what you said I'd get.

    This is what I'm getting.

    ******. Entering main loop. ********. Pause event has been registered for this frame Pause event has been unregistered create queue 200000 Pause event has been registered for this frame Pause event has been unregistered fnvideoPlayerStop create queue 200000 paused:43 fnvideoPlayerStop Pause event has been registered for this frame Pause event has been unregistered create queue 200000 fnvideoPlayerStop create queue 200000 fnvideoPlayerStop Pause event has been registered for this frame Pause event has been unregistered

  11. TitanAnteus reporter

    NVM when I closed the game, I got a bunch of stuff.

    1:1 DAR 16:9], 9340 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc [swscaler @ 15E2D020] No accelerated colorspace conversion found from yuv420p to bgra. Input #0, avi, from 'C:\Users\TitanAnteus\AppData\Local\gm_ttt_98403\gm_ttt_42337\Scenes/vid.dat': Duration: 00:00:00.93, start: 0.000000, bitrate: 6772 kb/s Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 6944 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc

  12. Peter Hall repo owner

    I've been testing a few different videos over the last few days, and made them just to try and match roughly what you have - <1 second long, no sound, encoded in h264. I can't reproduce anything immediately. Do you know exactly how many frames long your video is?

  13. TitanAnteus reporter

    That dll always gives me a LOG file... is there anyway to not have it build that log file.

  14. Log in to comment