matanui159 / ReplaySorcery

An open-source, instant-replay solution for Linux
GNU General Public License v3.0
853 stars 27 forks source link

Potential move back to FFmpeg #37

Closed matanui159 closed 3 years ago

matanui159 commented 4 years ago

Hello, y'all!

First let me start by saying sorry for being mostly silent on this project. Between university, work, and other side projects I have been interesting in working on, I haven't had much time to work on this, but I still consider it "active" as in I haven't given up on it, just haven't had the time or energy lately.

When I started this project, I wrote it around FFmpeg so I could take advantage of hardware encoding. However, when I find major performance issues with hardware encoding while playing games, I decided to switch to software-based JPEG encoding. The FFmpeg JPEG encoder was not that good, I used libjpeg-turbo, I thought why depend on FFmpeg when I don't even use it for encoding, big mistakes.

Turns out writing frame-timing, buffering, reencoding, etc. yourself when theres an amazing library out there to do it all for you is not that smart of an idea.

Now that I have had some more time to look back at it and look into the issues that are starting to pile up, I thought maybe I should switch it back. I would probably still use libjpeg-turbo for now, just find some way to integrate it into FFmpeg's pipeline.

It would bring along many benefits:

Issues:

Just gonna put this here as a collection of thoughts, might wait on it till I have some more time to focus on this project however.

matanui159 commented 4 years ago

Some updates on the current rewrite:

Some changes during the rewrite:

If anyone wants to check out the progress so far, feel free to pull down the branch, build and run it. Let me know if you find any issues early on, I'll try to keep the branch in a working state.

matanui159 commented 3 years ago

The FFmpeg rewrite has been merged and a new release has been tagged so hopefully nothing major goes wrong :)