Replay Mod (Fabric & Forge)

Replay Mod (Fabric & Forge)

1M Downloads

integrated ffmpeg support

west-shell opened this issue · 12 comments

commented

I use pojavlauncher to play je mc. for that I cant render.could you release a version with ffmpeg integrated.I kown it is a issue of pojav .but I would appreciate it that you can help.

commented

There are several reasons that FFmpeg isn't bundled in ReplayMod. The most prominent ones are:

  • it would just bloat up the size of the mod
  • licensing is complicated, because FFmpeg contains a ton of differently licensed video codecs
commented

it can be solved that just make another jar . if you have ffmpeg installed you don't need it . but if not ,replay still could render with this jar. you even don't need to modif the replay mod. it just works as a patch.

commented

If it's a separate download, you might as well just install ffmpeg normally then. It's just extra unnecessary wrapping and I'd argue it actually makes it more confusing, cause now you've got like five different ReplayMod jars of which you need to pick the correct two.
And no, just putting it in a jar won't magically make it work across platforms, ffmpeg isn't written in Java, so I don't see how that would even help with the original issue.

commented

i know that .but it is just a patch for pojavlauncher.just open another project.you don't need it on linux mac or win.I appreciate it if you can help.

commented

Johni said it, ffmpeg isn't written in Java. Stuffing ffmpeg into a .jar file would require the devs to rewrite ffmpeg entirely, causing unnecessary hassle.

Though I think there are mobile ports of ffmpeg out there.

commented

could you release a version with ffmpeg integrated

Putting ffmpeg into ReplayMod won't help anything, since Google started blocking executables in the data directory since Android 10

Untrusted apps that target Android 10 cannot invoke exec() on files within the app's home directory. This execution of files from the writable app home directory is a W^X violation. Apps should load only the binary code that's embedded within an app's APK file.

It's still possible to bypass this restriction by executing with a custom linker or fork() + dlopen() it then jump to the main function (but we haven't tried yet).

After all, there's still a way to put ffmpeg into the launcher, check out our FAQ in Discord for more info.

commented

Anyhow you'd leave your phone for one month afk (more like afp?) to get it to render

commented

Anyhow you'd leave your phone for one month afk (more like afp?) to get it to render

That’s too long. My friend tried it (with Zink + BSL shader), it took just 1+ hour for a 30 seconds video (≈3 seconds for each frame)
img

commented

I found the bin dir of jre on the path.so i installed a jre17 with ffmpeg in the bin .but replay can't recognize it .

commented

doesn't work that way. FFMPEG is installed in the system.

at least i had to do that for replay to work

commented

FFMPEG is installed in the system.

Replay allows setting FFmpeg binary path, so FFmpeg can be installed anywhere where executable permission is present.

commented

how about the jre bin dir .I Integrated a ffmpeg to jre.tar.xz and installed it. but can't rend .even replay command line give the full path I guessed