Emulator Issues #11141
Resulting Files from Video Dumping Have Very Low Compatibility
Game ID? (right click the game in the game list, properties, info tab)
MD5 Hash? (right click the game in the game list, properties, info tab, MD5 Hash: Compute)
What's the problem? Describe what went wrong.
Currently when a dump is made using FFV1 the resulting file is not very compatible. Many players and applications struggle, even with ffmpeg based decoders present on the system.
What steps will reproduce the problem?
1 - Start Dolphin and enable "Frame dumps use FFV1" in graphics > advanced.
2 - Enable "Dump Frames" in the "Movie" drop down menu.
Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.
Yes. The problem is present in 5.0-7608.
Is the issue present in the latest stable version?
Yes. The problem is present in 5.0.
If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool https://forums.dolphin-emu.org/Thread-green-notice-development-thread-unofficial-dolphin-bisection-tool-for-finding-broken-builds and anyone who is building Dolphin on their own can use git bisect.)
If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here: https://wiki.dolphin-emu.org/index.php?title=FifoPlayer
What are your PC specifications? (CPU, GPU, Operating System, more)
Intel Core i7-6700K @ 4.00ghz
NVIDIA GeForce GTX 1080 8GB
Windows 10 Pro 64-Bit
Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)
No. The issue should be able to be presented on any title.
The best current solution to preserve footage integrity is to re-encode the FFV1 dump losslessly. Typically, I do this from FFV1 to FFV1, but with a few specific parameters to boost compatibility. I have no issues with the resulting file: ffmpeg -i framedump0.avi -acodec copy -vcodec ffv1 -pix_fmt bgr0 -level 1 -g 1 -coder 1 -context 1 output0.avi
Specifically, the follow settings appear to be tied to the compatibility of the resulting dump file: -pix_fmt bgr0 -level 1 -g 1 -coder 1 -context 1
If they (or an equivalent lossless alternative) could somehow be enforced during the dumping process, it would greatly improve the process when dealing with the resulting dump after the fact.
#1 Updated by JMC4789 almost 3 years ago
- Assignee set to Fog
- Status changed from New to Accepted
- Subject changed from FFV1 Dump Compatibility to Resulting Files from Video Dumping Have Very Low Compatibility
Honestly all of our videodumping kinda sucks right now. I'm expanding your issue to contain my complaints toward the compressed videos too.
#2 Updated by JosJuice about 2 years ago
- Fixed in set to 5.0-9756
- Status changed from Accepted to Fixed
Should be fixed by https://dolphin-emu.org/download/dev/c71216419bdf1d64520c289a2e1234b981c826ea/. Please comment if it still doesn't work well.
#4 Updated by thecoreyburton about 2 years ago
I just had a look and it seems the fix has half-worked. Certain decoders (such as VLC's internal) are now able to play back the FFV1 dump without issue and everything looks fine. Others, typically those which rely on ffdshow as a decoder (the latest tryouts version in this case) such as MPC-HC or AVISynth produce an entirely grey (and therefore unusable) output.
I quickly performed and re-encoded a short dump and have uploaded the video stream information from MediaInfo to hopefully help:
The most obvious differences appear to be the format version and coder_type, either of which could be contributing or causing the problem.
#5 Updated by thecoreyburton about 2 years ago
Sorry to double-comment, but I just did a quick set of tests which might be useful.
If I remove "coder 1" from the command (which is viewable at the top of the modified MediaInfo pastebin document), I get a file with "Golomb Rice" as the coder_type and it plays back perfectly fine.
If I remove "level 1" from the command, I get a file which is version 3.4 and uses the Range Coder. This file also plays back perfectly fine.
If I remove both "coder 1" and "level 1", the problem appears and file plays back with a grey screen. This implies that it's the combination causing the issue.
Additionally, the modified file I re-encoded has a much higher bitrate than the current implementation (referring to 5.0-9756) and so the resulting file is much larger. File size isn't my primary concern, but if there are two possible solutions (setting the coder or setting the level, for example) it might be worth seeing which viable solution produces a smaller output file as well.
Oh, and thanks for working on this JosJuice!