pupnewfster / minema_resurrection

A Minecraft mod for offline rendering and video capturing.
Other
9 stars 2 forks source link

Video Files don't work/don't render. #4

Open Ghostx5 opened 1 year ago

Ghostx5 commented 1 year ago

Hello there! I like what you are doing with this mod, but have came across an issue! Whenever I record with minema, everything works fine, no errors or anything. But when I want to watch the recording, that's when the issues start. Ya see, it doesn't even render? The file is there, but it's un playable, and has no space taken up. Here's the log: 2022-07-19_23.43.23.log If it matters, I use a mac.

CyanideX commented 1 year ago

What does your current Minema config file look like?

Ghostx5 commented 1 year ago

Here's the config:

General Config.

[general]

#Encoding Settings
[general.encoding]
    #If enabled, a video encoding program is used that will receive uncompressed BGR24 frames from Minema Resurrection via the standard input pipe.
    useVideoEncoder = true
    #Path to the video encoding executable. The encoder's working directory is the generated movie folder. Ignored if the video encoder is disabled.
    videoEncoderPath = "/Users/name/Desktop/FFMPEGFOl/ffmpeg"
    #Arguments for the video encoding program. Placeholders: %%WIDTH%% - frame width, %%HEIGHT%% - frame height, %%FPS%% - frame rate. %%NAME%% - video file name to use, %OPTIONAL_SCALE% - adds a scale parameter if the dimensions aren't divisible by two. Ignored if the video encoder is disabled.
    videoEncoderParams = "-f rawvideo -pix_fmt bgr24 -s %WIDTH%x%HEIGHT% -r %FPS% -i - -vf  -c:v libx264 -preset ultrafast -tune zerolatency -qp 18 -pix_fmt yuv420p %NAME%.mp4"
    #If necessary, snaps the recording resolution to the next lower resolution so that width and height is divisible by this modulus. FFMpeg only needs mod2, some other encoders might need more.
    #Allowed Values: DISABLE, MOD2, MOD4, MOD8, MOD16
    snapResolution = "MOD2"

#Capturing Settings
[general.capturing]
    #Width of every captured frame in pixels. Set to 0 to use the current window/display width. Non-zero values require framebuffer support and are bound to the maximum texture resolution of your GPU.
    #Range: 0 ~ 1000
    frameWidth = 0
    #Height of every captured frame in pixels. Set to 0 to use the current window/display height. Non-zero values require framebuffer support and are bound to the maximum texture resolution of your GPU.
    #Range: 0 ~ 1000
    frameHeight = 0
    #Recording frame rate, sets the amount of frames recorded per in-game second. Floating point values are allowed, e.g. 23.976 for 24p NTSC. Because Minecraft operates at 20 ticks per second, frame rates with multiples of 20 are recommended for best smoothness.
    #Range: 1.0 ~ 240.0
    frameRate = 30.0
    #Number of frames to capture before stopping automatically. -1 means no limit.
    #Range: > -1
    frameLimit = -1
    #Path were the captured videos are stored. If no absolute path is used, it's relative to the Minecraft working directory.
    capturePath = "/Users/name/Desktop/FinVideo"
    #If enabled, show additional capturing information on the overlay (F3 menu). Note that these information are visible in the video, too.
    showOverlay = true
    #If enabled, the depth buffer is captured linearly. Warning: Certain tricks are not available for this buffer so this is quite slow!
    captureDepth = false
    #If disabled, the GUI (hotbar, hand, crosshair, etc) will not be recorded.
    recordGui = true
    #Enable to fix broken recordings when using Optifine's antialiasing or fast render together with a custom resolution. Resizes the whole application window as a workaround.
    aaFastRenderFix = false

#Engine Settings
[general.engine]
    #Speed modifier for the game clock. The default is 1.0, which equals 20 ticks per second. Lower or higher values will speed up or slow down the game time. 2.5, for example, results in two and a half of the normal speed. Useful for slow motion or time lapse effects. Ignored if the capturing is unsynchronized.
    #Range: 0.01 ~ 100.0
    engineSpeed = 1.0
    #If enabled, the local server and client runs synchronously to the video capturing frame rate. This effectively turns Minecraft into an offline renderer and allows rendering and capturing of extremely complex scenes. This ShaderSync version also synchronizes the shader mod by karyonix (compatible with Optifine, too). ONLY WORKS ON LOCAL WORLDS!
    syncEngine = true
    #If enabled, Minema Resurrection will heavily accelerate the chunk loading rate during recording. THIS IS ONLY TRULY EFFECTIVE ON LOCAL WORLDS!
    preloadChunks = true
    #If Preload Chunks is enabled and this is also enabled, all chunks in render distance will be preloaded. THIS IS ONLY TRULY EFFECTIVE ON LOCAL WORLDS!
    forcePreloadChunks = false
    #Delays starting the recording and travelling the path until all chunks in the client's view are loaded.
    delayStartUntilChunksLoaded = true
CyanideX commented 1 year ago

I think you need to fix your encoder path for ffmpeg.

This is what you should have (or similar): "C:/ffmpeg/bin/ffmpeg.exe"

Point directly to the executable. The easiest way to do this on a Mac is by holding down the OPTION key when right-clicking a file; you'll then see a "Copy FILE as Pathname" option. Copy the Pathname for the ffmpeg executable in the bin folder and paste that into your config.

CyanideX commented 1 year ago

I would also suggest leaving your capture path as the default movies within the Minecraft install directory to see if it's working before changing to a custom location.