leafo / gifine

Quickly record and edit gifs and videos of your desktop
286 stars 14 forks source link

Encode video > Save MP4 causes error "No such file or directory" or Output file "does not contain any stream" #32

Open hsandt opened 1 year ago

hsandt commented 1 year ago

After capturing a video, Encode video > Save MP4 never worked for me. The popup says "Save to GIF" so I'm not even sure what I'm supposed to select, and if try the following:

Entering a filename without extension:

App bottom message:

Wrote mp4 to filename (nil)

Terminal:

Unable to find a suitable output format for 'filename' filename: Invalid argument

Entering a filename with extension .mp4 or .gif:

App bottom message:

Wrote mp4 to test.mp4 (nil)

Terminal:

[image2pipe @ 0x558eedfa37c0] Could not find codec parameters for stream 0 (Video: png, none(pc)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, image2pipe, from 'pipe:': Duration: N/A, bitrate: N/A Stream #0:0: Video: png, none(pc), 60 tbr, 60 tbn, 60 tbc Output #0, mp4, to 'test.mp4': Output file #0 does not contain any stream du: cannot access 'test.mp4': No such file or directory closing pipe

Entering path to an existing MP4 or GIF:

App bottom message:

Wrote mp4 to test.gif (1.4MB)

Terminal:

[image2pipe @ 0x56199b4827c0] Could not find codec parameters for stream 0 (Video: png, none(pc)): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, image2pipe, from 'pipe:': Duration: N/A, bitrate: N/A Stream #0:0: Video: png, none(pc), 60 tbr, 60 tbn, 60 tbc Output #0, gif, to '/home/leyn/Pictures/GIF/opt/test.gif': Output file #0 does not contain any stream closing pipe

I assume the popup should say "Save to MP4" and I should be able to either override an existing .mp4 or enter a new .mp4 name, then it should export there.

leafo commented 1 year ago

Gifine is a simple wrapper over a series of command line commands, so if you're getting an error then it's likely one of those commands is failing for some reason. Perhaps there is more in the terminal that might point to the issue. From what I can tell from what you provided the ffmpeg command is failing on your system due to the arguments passed.

This is my ffmpeg and I've never had any issues with encoding frames to mp4:

ffmpeg version n5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 12.2.0 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
libavutil      57. 28.100 / 57. 28.100
libavcodec     59. 37.100 / 59. 37.100
libavformat    59. 27.100 / 59. 27.100
libavdevice    59.  7.100 / 59.  7.100
libavfilter     8. 44.100 /  8. 44.100
libswscale      6.  7.100 /  6.  7.100
libswresample   4.  7.100 /  4.  7.100
libpostproc    56.  6.100 / 56.  6.100

I assume the popup should say "Save to MP4"

That's correct, the file dialog had a mistake in the title.

hsandt commented 1 year ago

OK, next time I try I will run each line in my terminal directly to spot the issue then.