Emulator Issues #6664
closedFFV1 video capture is dysfunctional with newer versions of ffmpeg
0%
Description
What went wrong?
When dumping frames (i.e. capturing video) for any game with lossless FFV1 codec the following message is spammed in console output:
[ffv1 @ 0x7f911bf477e0] Provided packet is too small, needs to be X. (where X is e.g. 2781184)
Moreover the resulting capture is unreadable by any player. ffprobe output for framedump0.avi:
[..]
[avi @ 0x14701a0] Could not find codec parameters for stream 0 (Video: ffv1 (FFV1 / 0x31564646), 640x480): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
framedump0.avi: End of file
What steps will reproduce the problem?
- Compile Dolphin on Linux with newer versions of ffmpeg (details below).
- Start up Dolphin, enable "Dump Frames" and "Frame Dumps use FFV1" in Graphics menu.
- Play a game. Video output should be captured. Above message gets spammed in console.
Which versions of Dolphin did you test on?
Several. Among those are 3.0-735 (commit d33e48319f27a2b17271128408a125a3f14364e2) and current master (commit e37cb1fc7646a6047fabb0c52584be1b33872737).
Which version of Dolphin used to work?
None. The problem is caused by a change in ffmpeg (see below).
What are your PC specifications (example: Operating System, CPU and GPU)?
OS: Arch Linux x86_64
Kernel: Linux arch-desktop 3.11.1-2-ARCH #1 SMP PREEMPT Sun Sep 22 19:45:00 CEST 2013 x86_64 GNU/Linux
CPU: Intel(R) Core(TM) i5 CPU 750 @ 2.67GHz
RAM: 8GiB
64 or 32 bit Dolphin?
64-bit. Likely affects 32-bit as well.
Further information:
The problem first started appearing when Arch Linux switched to a more recent version of ffmpeg.
I bisected the commit that first caused trouble capturing (black screen, no output in console, hang): http://patches.libav.org/patch/38060/
This is the commit that causes above messages to be spammed to console output: http://patches.libav.org/patch/38926/
Note that since then Dolphin does not hang with a black screen anymore, but instead runs pretty normal aside from FFV1 error messages.
Updated by comexk over 11 years ago
Possibly related: I get warnings that Dolphin is using deprecated ffmpeg functions.
Updated by flacs almost 11 years ago
- Status changed from New to Accepted
- Priority set to Low
- Operating system N/A added
I'll probably fix this in the course of making Dolphin compatible with the new ffmpeg/libav API.
Updated by flacs over 10 years ago
- Milestone deleted (
Current)
After updating Dolphin's frame dumping code this bug is still present :( No idea what's wrong, no errors are shown anymore but Dolphin produces an almost-empty file.
Updated by delroth over 10 years ago
- Priority changed from Low to High
I get errors myself:
33:22:641 ../Source/Core/VideoCommon/AVIDump.cpp:346 E[Video]: Error while encoding video: -22
33:22:667 ../Source/Core/VideoCommon/AVIDump.cpp:346 E[Video]: Error while encoding video: -22
33:22:696 ../Source/Core/VideoCommon/AVIDump.cpp:346 E[Video]: Error while encoding video: -22
33:22:729 ../Source/Core/VideoCommon/AVIDump.cpp:346 E[Video]: Error while encoding video: -22
33:22:775 ../Source/Core/VideoCommon/AVIDump.cpp:346 E[Video]: Error while encoding video: -22
Since the default compression is lossy, this means we have no way to dump lossless video on OSX/Linux at the moment. Bumping priority since this impacts at least fifoci.
Updated by delroth over 10 years ago
- Status changed from Accepted to Fixed
Fixed in #596 (merged as 4.0-2071).