reticivis-net / mediaforge

A Discord bot for editing and creating videos, images, GIFs, and more!
GNU General Public License v3.0
82 stars 28 forks source link

No space left on device #180

Open maverickphp opened 1 year ago

maverickphp commented 1 year ago

Describe the bug

discord.app_commands.errors.CommandInvokeError: Hybrid command raised an error: Command 'togif' raised an exception: CMDError: Command ('ffmpeg', '-i', '/dev/shm/mediaforge/IJmlXmBB.mp4', '-gifflags', '-transdiff', '-vf', "fps=fps='min(source_fps,50)',split[s0][s1];[s0]palettegen=reserve_transparent=1[p];[s1][p]paletteuse=bayer", '-fps_mode', 'vfr', '/dev/shm/mediaforge/geJzAEAq.gif') failed.

Traceback

DATETIME:2023-06-09 11:42:54.271270
COMMAND:
TRACEBACK:
processing.common.CMDError: ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-13)
  configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-gnutls --disable-liblensfun --disable-libopencv --disable-podpages --disable-sndio --disable-stripping --enable-avfilter --enable-chromaprint --enable-frei0r --enable-gcrypt --enable-gpl --enable-ladspa --enable-libaom --enable-libaribb24 --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libdavs2 --enable-libdc1394 --enable-libdrm --enable-libfdk-aac --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libkvazaar --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librsvg --enable-librubberband --enable-libshine --enable-libsmbclient --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-nonfree --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-openssl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-vulkan --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-vaapi --enable-libmfx --enable-libvmaf --enable-libilbc --enable-libjxl --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  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
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/dev/shm/mediaforge/IJmlXmBB.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2023-05-24T13:50:02.000000Z
  Duration: 00:00:16.50, start: 0.000000, bitrate: 1386 kb/s
  Stream #0:0[0x1](und): Video: vp9 (Profile 0) (vp09 / 0x39307076), yuv420p(tv, bt709), 1080x1082, 1336 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
    Metadata:
      creation_time   : 2023-05-24T13:50:02.000000Z
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
      encoder         : VPC Coding
  Stream #0:1[0x2](und): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 48 kb/s (default)
    Metadata:
      creation_time   : 2023-05-24T10:10:11.000000Z
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (vp9 (native) -> gif (native))
Press [q] to stop, [?] for help
[Parsed_palettegen_2 @ 0x55637cccdbc0] 255(+1) colors generated out of 859927 colors; ratio=0.000297
Output #0, gif, to '/dev/shm/mediaforge/geJzAEAq.gif':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf59.27.100
  Stream #0:0(und): Video: gif, pal8(pc, gbr/bt709/bt709, progressive), 1080x1082, q=2-31, 200 kb/s, 30 fps, 100 tbn (default)
    Metadata:
      creation_time   : 2023-05-24T13:50:02.000000Z
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc59.37.100 gif
frame=    2 fps=0.1 q=-0.0 size=     256kB time=00:00:00.04 bitrate=52428.8kbits/s speed=0.00158x    
frame=   10 fps=0.4 q=-0.0 size=    3840kB time=00:00:00.31 bitrate=101475.1kbits/s speed=0.012x    
frame=   17 fps=0.6 q=-0.0 size=    6656kB time=00:00:00.54 bitrate=100974.0kbits/s speed=0.0204x    
frame=   24 fps=0.9 q=-0.0 size=    9472kB time=00:00:00.78 bitrate=99480.3kbits/s speed=0.0289x    
frame=   31 fps=1.1 q=-0.0 size=   12544kB time=00:00:01.01 bitrate=101743.0kbits/s speed=0.0366x    
frame=   38 fps=1.3 q=-0.0 size=   15872kB time=00:00:01.24 bitrate=104857.6kbits/s speed=0.044x    
frame=   45 fps=1.6 q=-0.0 size=   18688kB time=00:00:01.48 bitrate=103440.6kbits/s speed=0.0515x    
frame=   52 fps=1.8 q=-0.0 size=   21504kB time=00:00:01.71 bitrate=103018.0kbits/s speed=0.0584x    
frame=   59 fps=2.0 q=-0.0 size=   24576kB time=00:00:01.94 bitrate=103776.6kbits/s speed=0.0649x    
frame=   66 fps=2.2 q=-0.0 size=   27392kB time=00:00:02.18 bitrate=102933.6kbits/s speed=0.0716x    
frame=   73 fps=2.4 q=-0.0 size=   30464kB time=00:00:02.41 bitrate=103552.3kbits/s speed=0.0777x    
frame=   79 fps=2.5 q=-0.0 size=   33536kB time=00:00:02.61 bitrate=105259.4kbits/s speed=0.0828x    
frame=   85 fps=2.7 q=-0.0 size=   36864kB time=00:00:02.81 bitrate=107469.7kbits/s speed=0.0877x    
frame=   91 fps=2.8 q=-0.0 size=   40192kB time=00:00:03.01 bitrate=109386.3kbits/s speed=0.0924x    
frame=   97 fps=2.9 q=-0.0 size=   43776kB time=00:00:03.21 bitrate=111717.4kbits/s speed=0.097x    
frame=  103 fps=3.1 q=-0.0 size=   47104kB time=00:00:03.41 bitrate=113160.1kbits/s speed=0.101x    
frame=  109 fps=3.2 q=-0.0 size=   50432kB time=00:00:03.61 bitrate=114442.9kbits/s speed=0.106x    
frame=  115 fps=3.3 q=-0.0 size=   53760kB time=00:00:03.81 bitrate=115591.1kbits/s speed=0.11x    
frame=  121 fps=3.4 q=-0.0 size=   57344kB time=00:00:04.01 bitrate=117147.6kbits/s speed=0.114x    
frame=  127 fps=3.6 q=-0.0 size=   60672kB time=00:00:04.21 bitrate=118058.2kbits/s speed=0.118x    
frame=  133 fps=3.7 q=-0.0 size=   64000kB time=00:00:04.41 bitrate=118886.2kbits/s speed=0.122x    
frame=  139 fps=3.8 q=-0.0 size=   67328kB time=00:00:04.61 bitrate=119642.3kbits/s speed=0.126x    
frame=  145 fps=3.9 q=-0.0 size=   70656kB time=00:00:04.81 bitrate=120335.5kbits/s speed=0.129x    
frame=  152 fps=4.0 q=-0.0 size=   73984kB time=00:00:05.04 bitrate=120253.4kbits/s speed=0.133x    
frame=  159 fps=4.2 q=-0.0 size=   77056kB time=00:00:05.28 bitrate=119553.6kbits/s speed=0.138x    
frame=  166 fps=4.3 q=-0.0 size=   80128kB time=00:00:05.51 bitrate=119130.4kbits/s speed=0.142x    
frame=  173 fps=4.4 q=-0.0 size=   83200kB time=00:00:05.74 bitrate=118741.2kbits/s speed=0.146x    
frame=  180 fps=4.5 q=-0.0 size=   86272kB time=00:00:05.98 bitrate=118184.0kbits/s speed=0.15x    
frame=  187 fps=4.6 q=-0.0 size=   89344kB time=00:00:06.21 bitrate=117859.3kbits/s speed=0.154x    
av_interleaved_write_frame(): No space left on device
Error writing trailer of /dev/shm/mediaforge/geJzAEAq.gif: No space left on device
frame=  190 fps=4.7 q=-0.0 Lsize=   90112kB time=00:00:06.31 bitrate=116988.5kbits/s speed=0.155x    
video:91159kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Error closing file /dev/shm/mediaforge/geJzAEAq.gif: No space left on device
Conversion failed!

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/.cache/pypoetry/virtualenvs/mediaforge-HXFskkj--py3.11/lib/python3.11/site-packages/discord/app_commands/commands.py", line 841, in _do_call
    return await self._callback(self.binding, interaction, **params)  # type: ignore
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mediaforge/src/commands/conversion.py", line 141, in togif
    await process(ctx, processing.ffmpeg.mp4togif, [["VIDEO"]])
  File "/mediaforge/src/core/process.py", line 157, in process
    raise e
  File "/mediaforge/src/core/process.py", line 125, in process
    result = await run()
             ^^^^^^^^^^^
  File "/mediaforge/src/core/process.py", line 108, in run
    command_result = await func(*args, **kwargs)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mediaforge/src/processing/ffmpeg.py", line 195, in mp4togif
    await run_command("ffmpeg", "-i", mp4,
  File "/mediaforge/src/processing/common.py", line 75, in run_command
    raise CMDError(f"Command {args} failed.") from CMDError(result)
processing.common.CMDError: Command ('ffmpeg', '-i', '/dev/shm/mediaforge/IJmlXmBB.mp4', '-gifflags', '-transdiff', '-vf', "fps=fps='min(source_fps,50)',split[s0][s1];[s0]palettegen=reserve_transparent=1[p];[s1][p]paletteuse=bayer", '-fps_mode', 'vfr', '/dev/shm/mediaforge/geJzAEAq.gif') failed.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/.cache/pypoetry/virtualenvs/mediaforge-HXFskkj--py3.11/lib/python3.11/site-packages/discord/ext/commands/hybrid.py", line 438, in _invoke_with_namespace
    value = await self._do_call(ctx, ctx.kwargs)  # type: ignore
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/.cache/pypoetry/virtualenvs/mediaforge-HXFskkj--py3.11/lib/python3.11/site-packages/discord/app_commands/commands.py", line 860, in _do_call
    raise CommandInvokeError(self, e) from e
discord.app_commands.errors.CommandInvokeError: Command 'togif' raised an exception: CMDError: Command ('ffmpeg', '-i', '/dev/shm/mediaforge/IJmlXmBB.mp4', '-gifflags', '-transdiff', '-vf', "fps=fps='min(source_fps,50)',split[s0][s1];[s0]palettegen=reserve_transparent=1[p];[s1][p]paletteuse=bayer", '-fps_mode', 'vfr', '/dev/shm/mediaforge/geJzAEAq.gif') failed.

Expected Behavior

No response

Steps To Reproduce

No response

Anything Else

No response

reticivis-net commented 1 year ago

This happens when MediaForge runs out of memory. Try again and it should work. I’ll add better error handling to make this clear to the user.