Skip to content

Unplayable gif output by VHS #529

Open
@CodesOfRishi

Description

@CodesOfRishi

Describe the bug

Unplayable gif output by VHS. The .mp4 output works as expected but not the .gif output. A gif is created but it's unplayable.

Setup

  • OS: LinuxLite
  • Shell: Bash
  • Terminal Emulator: xfce4-terminal
  • Terminal Multiplexer: None
  • VHS Version: vhs version v0.8.0 (88e634f)

To Reproduce

Run the below code in your terminal.

vhs demo2.tape

Source Code

Below is the content of my demo2.tape file I am using to create the .gif output.

Output out.gif

# Set WindowBar Colorful
Set FontSize 30
Set Width 3000
Set Height 1000
Set Framerate 30

Sleep 1
Type "# Here's a brief demonstration of the XYZ"
Sleep 2
Backspace 41
Sleep 1

Sleep 2
Ctrl+L
Sleep 1

Type `# As you go through XYZ, it will start recording your activities`
Sleep 2
Enter 1

Sleep 1
Type `# So, let's start with searching and navigating through the logs`
Sleep 3
Enter 1


Sleep 5

Expected behavior

VHS should be creating a .gif file that can be viewed in a browser.

Screenshots

None

Additional context

Below is the output that I get.

File: demo2.tape
Output .gif out.gif
Set FontSize 30
Set Width 3000
Set Height 1000
Set Framerate 30
Sleep 1s
Type # Here's a brief demonstration of the XYZ
Sleep 2s
Backspace 41
Sleep 1s
Sleep 2s
Ctrl L
Sleep 1s
Type # As you go through XYZ, it will start recording your activities
Sleep 2s
Enter 1
Sleep 1s
Type # So, let's start with searching and navigating through the logs
Sleep 3s
Enter 1
Sleep 5s
Creating out.gif...
ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)
  configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Input #0, image2, from '/tmp/vhs36284546/frame-text-%05d.png':
  Duration: 00:00:32.60, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: png, rgba(pc, gbr/bt709/iec61966-2-1), 2850x840, 25 fps, 25 tbr, 25 tbn
Input #1, image2, from '/tmp/vhs36284546/frame-cursor-%05d.png':
  Duration: 00:00:32.60, start: 0.000000, bitrate: N/A
  Stream #1:0: Video: png, rgba(pc, gbr/bt709/iec61966-2-1), 2850x840, 25 fps, 25 tbr, 25 tbn
Input #2, lavfi, from 'color=#171717:s=3000x1000':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #2:0: Video: wrapped_avframe, yuv420p, 3000x1000 [SAR 1:1 DAR 3:1], 25 fps, 25 tbr, 25 tbn
Stream mapping:
  Stream #0:0 (png) -> overlay
  Stream #1:0 (png) -> overlay
  Stream #2:0 (wrapped_avframe) -> scale:default
  paletteuse:default -> Stream #0:0 (gif)
Press [q] to stop, [?] for help
[in#0/image2 @ 0x64b48b15cb40] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[in#1/image2 @ 0x64b48b16eac0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)

Host your GIF on vhs.charm.sh: vhs publish <file>.gif

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions