Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AVI Recording Or Sequential Image Capture #1800

Closed
xnamkcor opened this issue May 14, 2013 · 17 comments
Closed

AVI Recording Or Sequential Image Capture #1800

xnamkcor opened this issue May 14, 2013 · 17 comments

Comments

@xnamkcor
Copy link

Could we add an option for capturing frames to a series of images or an AVI file? Audio is unimportant.

@solarmystic
Copy link
Contributor

You mean like having a built in FRAPS/Bandicam video capture function into PPSSPP? That would be useful for diagnostic purposes when determining visual issues in a game.

@hrydgard
Copy link
Owner

As we are now building with FFMPEG, it wouldn't be that hard to add proper video recording with sound actually. I might give it a shot in a while, I already have some working code to write video files in a different project. But there are many other things that are more important right now :)

@xnamkcor
Copy link
Author

Just to be clear, when I say "AVI", I'm referring to an uncompressed stream of video.

@unknownbrackets
Copy link
Collaborator

Well, I think we could encode an mp4 with lossless-mode x264, it could I guess be an option. This would probably be less ridiculously huge compared to a completely uncompressed or huffyuv stream, and might actually be faster considering disk i/o, etc. What's the use case you're after?

Should we do this only on desktop, if we do do it? I can see potential benefits for mobile, mainly capturing video of rendering artifacts or something, but also capturing gameplay videos on the go (but only if it somehow ends up speedy enough.)

-[Unknown]

@xnamkcor
Copy link
Author

Maybe I was unclear, but my goal was to record the frames without compressing them. While large, "Uncompressed AVI" uses minimal CPU usage when being recorded to. HuffYUV, Lagarith, and UTVideo are welcome options, because they are truely lossless. But "Uncompressed AVI" would need to be an option too. Or, at least, an option to save a series of frames as BMPs.

I am unsure as to how lossless "lossless-mode" x264 is. I'm sure it looks great to the human eye, but my reasons for recording are not just to watch them later. They would need to be used as masters for editing and/or analysis.

@unknownbrackets
Copy link
Collaborator

Well, it's lossless, but it does require a YUV source, so there can be some small loss form the RGB->YUV conversion.

http://trac.ffmpeg.org/wiki/x264EncodingGuide#LosslessH.264
http://forum.doom9.org/showthread.php?t=143748
http://lists.mplayerhq.hu/pipermail/mencoder-users/2005-December/002299.html

Anyway, if you really want uncompressed, again, what's the use case? If this was in the default build it sounds like it would need a "number of frames" selection or something, because such a capture at 3x render resolution can start to eat up huge amounts of disk space.

-[Unknown]

@xnamkcor
Copy link
Author

PSP is RGB, not YUV. "Small loss" is not lossless.

@unknownbrackets
Copy link
Collaborator

Then, this sounds like a very specific need without a clear use case, so I don't think it really makes sense as a standard feature. There are likely tools which can do such capture, and of course PPSSPP is open source.

However, a capture within PPSSPP might still make sense.

-[Unknown]

@xnamkcor
Copy link
Author

Do you suggest he add a recording feature and, hilariously, and purposefully omit an option for recording as "Uncompressed AVI"?

@hrydgard
Copy link
Owner

AVI is a container format, it says absolutely nothing about what codecs are in it or if it's lossless. AVIs can contain everything from PCM/HUFFYUV to mp3@32khz/mpeg1 :P So asking for AVI doesn't make sense by itself.

Anyhow, FFMPEG supports huffyuv so if we implement recording support at all (I was thinking PCM/MJPEG as a compromise between recording speed, diskspace and fidelity) it's pretty easy to add an option to record lossless huffyuv instead.

@xnamkcor
Copy link
Author

""Uncompressed AVI"" is not a container. ""Uncompressed AVI"" is a common option in situations where you can choose which codec to use. I purposefully used quotes because I know "AVI" is a container.

I've asked. All I can do is trust in you. You're the developer.

PS: In my second post I clarified what I meant by "AVI". And in the following posts I made sure to use ""Uncompressed AVI""

http://en.wikipedia.org/wiki/Quotation_mark#Irony

@hrydgard
Copy link
Owner

You are wrong. "Uncompressed AVI" is not defined in any way, there are many possible options. For example HUFFYUV and PCM, but could also do crazy stuff like using lossless JPEGS (rare but exists) in an MJPEG stream for example. There is no standard format called "Uncompressed AVI", those apps are lying.

Anyway, as a feature request it's of course totally valid to want to have an option to produce lossless video. I'm just annoyed when technical terms are misused because it causes misunderstanding. AVI really, really is just a container format. It can contain ANY codecs.

@xnamkcor
Copy link
Author

U R 2 smrt 4 me. Plz 4give. Due nut h8 me.

@RisingFog
Copy link
Contributor

Implemented in PR #8945 (based on Dolphin's implementation)

@unknownbrackets
Copy link
Collaborator

Is this sufficiently implemented to close or is there something still pending?

-[Unknown]

@LunaMoo
Copy link
Collaborator

LunaMoo commented Feb 22, 2019

The feature might still not work correctly, (might be buggy with non-60fps games?) but it has it's own issue for that #10632

@unknownbrackets
Copy link
Collaborator

Fair - since we already have issues for its bugs, I'm going to go ahead and close this one.

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants