Akascape / Datamosher-Pro

A GUI based powerful automatic datamoshing application for free! Easily apply trippy glitch effects in your videos. Contains 30+ cool glitch effects!
MIT License
308 stars 14 forks source link

Linux / Python Some Filters Not Working #13

Open radiophonic opened 1 year ago

radiophonic commented 1 year ago

Hi there. Firstly, thank you for the great piece of software, it has proven to be very useful.

I have noticed that some of the filters do not work in the Python version, however.

The following filters give an error dialogue which reads: Something went wrong! Please recheck the settings and try again However, checking the terminal output there is no debug information.

Python 3.8.10

Akascape commented 1 year ago

Thanks @radiophonic for pointing this bug out in linux. It was actually a minor mistake while calling the subprocess. But I have tried to fix this. Please let me know the results after downloading the new version: https://github.com/Akascape/Datamosher-Pro/releases/download/Datamosher_Prov2.0/Datamosher-Pro_python-version_2.01.zip

radiophonic commented 1 year ago

Thanks for the response. It's almost fixed, it runs the ffmpeg process which I presume converts the input but then throws the same error. However, this only occurs on some files.

What I noticed on my last test was that it had deleted the file (presumably a temp file) in the same directory before it could get the step 3/3 (fixing the file) and thus, complains.

/home/user/Projects/variousvideo/static1_datamoshed_Water Bloom_corrupted.mpg: Invalid data found when processing input

If there is any debug output I can provide, let me know how to obtain it for you.

Thanks again.

Akascape commented 1 year ago

@radiophonic I tested it on Ubuntu, waterbloom is working fine. Waterbloom, rise and shuffle have the same conversion process, so I don't know where exactly the problem is. Maybe try changing the video file.

radiophonic commented 1 year ago

Thanks for the response.

I had some time to experiment a bit this morning. The filters seem to be a bit picky but I haven't pegged down the reason. I work with a lot of different media here on a day to day basis so there's a good chance to pin down the reason for the failure. At first I thought maybe it was due to the short length of the video I was but experimenting with others proved me wrong.

I compared the media information between two files, one that would work and one that wouldn't and there was very little difference. Both were under 20s, same framerate (30fps), same dimensions (1280x720), encoding codec (avc1), etc. so, I'm at a loss for now. If I manage to figure it out I'll drop you a new bug report.

Also, unrelated but ffedit and ffgac need to be marked as executable by your Setup.py script or it fails.

If there's anything you'd like me to test out, please feel free to let me know.

Thanks again for the prompt response and take care. :)

Akascape commented 1 year ago

@radiophonic

I compared the media information between two files, one that would work and one that wouldn't and there was very little difference.

It can be a conversion issue with ffgac. One thing you can do is inspecting the raw files in cache_ffg directory. To do that, you can remove this line from this file so that the cache doesn't get deleted after conversion. Then you can view the converted mpg and raws for those video. If they are under 0 bytes them I am sure its a conversion error in step 1.

Also, unrelated but ffedit and ffgac need to be marked as executable by your Setup.py script or it fails.

Yeah, as they are separate packages we have to mark them as executable in linux/mac.

Akascape commented 9 months ago

@radiophonic Check the latest version and let me know, new mode added: combine

radiophonic commented 9 months ago

Thanks much for the update. :)

The rest of the filters from my original post are working as intended/expected. Shuffle and Water Bloom not working. I had used Water Bloom once or twice and it worked fine some months ago, unfortunately I didn't make a note of the conditions as I had figured the filter had been fixed in an update. Should I happen to get it to work again, I will be sure to not the technical specs of the input file for you.

These two outputs are being used with a small video file that has 375 frames (ffprobe output follows):


  Duration: 00:00:15.00, start: 0.000000, bitrate: 12410 kb/s
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 12405 kb/s, 25 fps, 25 tbr, 50 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 1970-01-01T00:00:00.000000Z
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]

Shuffle filter output post ffmpeg process:


  FFglitch Copyright (c) 2017-2021 Ramiro Polla
  built with gcc 6.3.0 (GCC)
  configuration: --disable-doc --cross-prefix=x86_64-linux-musl- --arch=x86_64 --target-os=linux --enable-gpl --enable-static --disable-shared --extra-ldflags=-static
Input #0, mpegvideo, from 'cache_ffg/static1.mpg':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1200k tbn, 60 tbc
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 49152 vbv_delay: N/A
Output #0, image2, to 'cache_ffg/raws/frames_%04d.raw':
  Metadata:
    encoder         : Lavf58.42.100
    Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 49152 vbv_delay: N/A
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=  450 fps=0.0 q=-1.0 Lsize=N/A time=00:00:15.00 bitrate=N/A speed=31.8x    
video:117544kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
ffmpeg version 4.2.2-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
/home/snafu/Projects/variousvideo/static1_datamoshed_Shuffle_corrupted.mpg: Invalid data found when processing input

Water bloom filter output post ffmpeg process:

ffgac version ffglitch-0.9.3 Copyright (c) 2000-2021 the FFmpeg developers
  FFglitch Copyright (c) 2017-2021 Ramiro Polla
  built with gcc 6.3.0 (GCC)
  configuration: --disable-doc --cross-prefix=x86_64-linux-musl- --arch=x86_64 --target-os=linux --enable-gpl --enable-static --disable-shared --extra-ldflags=-static
Input #0, mpegvideo, from 'cache_ffg/static1.mpg':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1200k tbn, 60 tbc
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 49152 vbv_delay: N/A
Output #0, image2, to 'cache_ffg/raws/frames_%04d.raw':
  Metadata:
    encoder         : Lavf58.42.100
    Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 49152 vbv_delay: N/A
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=  450 fps=0.0 q=-1.0 Lsize=N/A time=00:00:15.00 bitrate=N/A speed=33.1x    
video:117544kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
ffmpeg version 4.2.2-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
/home/snafu/Projects/variousvideo/static1_datamoshed_Water Bloom_corrupted.mpg: Invalid data found when processing input

Have a good day!