Nandaka / PixivUtil2

Download images from Pixiv and more!
http://nandaka.devnull.zone/
BSD 2-Clause "Simplified" License
2.35k stars 258 forks source link

Add option to convert Ugoira to Webm #257

Closed ghost closed 5 years ago

ghost commented 7 years ago

I saw that there is an option to convert them to .gif or .apng but would it be possible to have an option to convert them into webm since they are basically just a video of a few frames (plus it will make it easier to watch/manipulate and will be lighter).

Nandaka commented 5 years ago

Is there any files created in c:/users/x/appdata/local/temp/ugoira2webmv4xu3i/? no issue on my side using latest version https://github.com/Nandaka/PixivUtil2/releases

Nandaka commented 5 years ago

Also run ffmpeg.exe -encoders in the console and see if there any output shown and paste it here.

Ridolf commented 5 years ago

$ ffmpeg.exe -encoders ffmpeg version N-92192-g57f312a34d Copyright (c) 2000-2018 the FFmpeg developers built with gcc 8.2.0 (Rev3, Built by MSYS2 project) configuration: --disable-autodetect --enable-amf --enable-bzlib --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2 --disable-debug --enable-ffnvcodec --enable-nvdec --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-fontconfig --enable-libass --enable-libbluray --enable-libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libzimg --enable-libshine --enable-gpl --enable-avisynth --enable-libxvid --enable-libaom --enable-version3 --enable-chromaprint --enable-decklink --enable-frei0r --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfdk-aac --enable-libflite --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmodplug --enable-libopenh264 --enable-libopenmpt --enable-librtmp --enable-librubberband --enable-libssh--enable-libtesseract --enable-libxavs --enable-libzmq --enable-libzvbi --enable-opencl --enable-opengl --enable-libvmaf --enable-libcodec2 --enable-libsrt --enable-ladspa --enable-openssl --extra-cflags=-fopenmp --extra-libs=-lgomp --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++ --extra-cflags=-DLIBSSH_STATIC --extra-ldflags='-Wl,--allow-multiple-definition' --extra-cflags=-DCACA_STATIC--extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCHROMAPRINT_NODLL --extra-libs=-lstdc++ --extra-cflags=-DZMQ_STATIC --extra-libs=-lpsapi --extra-cflags=-DLIBXML_STATIC --extra-libs=-liconv --disable-w32threads --extra-cflags=-DKVZ_STATIC_LIB --enable-nonfree libavutil 56. 19.101 / 56. 19.101 libavcodec 58. 33.100 / 58. 33.100 libavformat 58. 19.100 / 58. 19.100 libavdevice 58. 4.105 / 58. 4.105 libavfilter 7. 33.101 / 7. 33.101 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 Encoders: V..... = Video A..... = Audio S..... = Subtitle .F.... = Frame-level multithreading ..S... = Slice-level multithreading ...X.. = Codec is experimental ....B. = Supports draw_horiz_band .....D = Supports direct rendering method 1

V..... a64multi Multicolor charset for Commodore 64 (codec a64_multi) V..... a64multi5 Multicolor charset for Commodore 64, extended with5th color (colram) (codec a64_multi5) V..... alias_pix Alias/Wavefront PIX image V..... amv AMV Video V..... apng APNG (Animated Portable Network Graphics) image V..... asv1 ASUS V1 V..... asv2 ASUS V2 V..X.. libaom-av1 libaom AV1 (codec av1) V..... avrp Avid 1:1 10-bit RGB Packer V..X.. avui Avid Meridien Uncompressed V..... ayuv Uncompressed packed MS 4:4:4:4 V..... bmp BMP (Windows and OS/2 bitmap) V..... libxavs libxavs Chinese AVS (Audio Video Standard) (codec cavs) V..... cinepak Cinepak V..... cljr Cirrus Logic AccuPak V.S... vc2 SMPTE VC-2 (codec dirac) VFS... dnxhd VC3/DNxHD V..... dpx DPX (Digital Picture Exchange) image VFS... dvvideo DV (Digital Video) V.S... ffv1 FFmpeg video codec #1 VF.... ffvhuff Huffyuv FFmpeg variant V..... fits Flexible Image Transport System V..... flashsv Flash Screen Video V..... flashsv2 Flash Screen Video Version 2 V..... flv FLV / Sorenson Spark / Sorenson H.263 (Flash Video) (codec flv1) V..... gif GIF (Graphics Interchange Format) V..... h261 H.261 V..... h263 H.263 / H.263-1996 V.S... h263p H.263+ / H.263-1998 / H.263 version 2 V..... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264) V..... libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264) V..... libopenh264 OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10(codec h264) V..... h264_amf AMD AMF H.264 Encoder (codec h264) V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264) V..... h264_qsv H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264) V..... nvenc NVIDIA NVENC H.264 encoder (codec h264) V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264) V..... hap Vidvox Hap V..... libx265 libx265 H.265 / HEVC (codec hevc) V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc) V..... hevc_amf AMD AMF HEVC encoder (codec hevc) V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc) V..... hevc_qsv HEVC (Intel Quick Sync Video acceleration) (codec hevc) V..... libkvazaar libkvazaar H.265 / HEVC (codec hevc) VF.... huffyuv Huffyuv / HuffYUV V..... jpeg2000 JPEG 2000 VF.... libopenjpeg OpenJPEG JPEG 2000 (codec jpeg2000) VF.... jpegls JPEG-LS VF.... ljpeg Lossless JPEG VF.... magicyuv MagicYUV video VFS... mjpeg MJPEG (Motion JPEG) V..... mjpeg_qsv MJPEG (Intel Quick Sync Video acceleration) (codecmjpeg) V.S... mpeg1video MPEG-1 video V.S... mpeg2video MPEG-2 video V..... mpeg2_qsv MPEG-2 video (Intel Quick Sync Video acceleration)(codec mpeg2video) V.S... mpeg4 MPEG-4 part 2 V..... libxvid libxvidcore MPEG-4 part 2 (codec mpeg4) V..... msmpeg4v2 MPEG-4 part 2 Microsoft variant version 2 V..... msmpeg4 MPEG-4 part 2 Microsoft variant version 3 (codec msmpeg4v3) V..... msvideo1 Microsoft Video-1 V..... pam PAM (Portable AnyMap) image V..... pbm PBM (Portable BitMap) image V..... pcx PC Paintbrush PCX image V..... pgm PGM (Portable GrayMap) image V..... pgmyuv PGMYUV (Portable GrayMap YUV) image VF.... png PNG (Portable Network Graphics) image V..... ppm PPM (Portable PixelMap) image VF.... prores Apple ProRes VF.... prores_aw Apple ProRes (codec prores) VFS... prores_ks Apple ProRes (iCodec Pro) (codec prores) V..... qtrle QuickTime Animation (RLE) video V..... r10k AJA Kona 10-bit RGB Codec V..... r210 Uncompressed RGB 10-bit V..... rawvideo raw video V..... roqvideo id RoQ video (codec roq) V..... rv10 RealVideo 1.0 V..... rv20 RealVideo 2.0 V..... sgi SGI image V..... snow Snow V..... sunrast Sun Rasterfile image V..... svq1 Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1 V..... targa Truevision Targa image V..... libtheora libtheora Theora (codec theora) VF.... tiff TIFF image VF.... utvideo Ut Video V..... v210 Uncompressed 4:2:2 10-bit V..... v308 Uncompressed packed 4:4:4 V..... v408 Uncompressed packed QT 4:4:4:4 V..... v410 Uncompressed 4:4:4 10-bit V..... libvpx libvpx VP8 (codec vp8) V..... libvpx-vp9 libvpx VP9 (codec vp9) V..... libwebp_anim libwebp WebP image (codec webp) V..... libwebp libwebp WebP image (codec webp) V..... wmv1 Windows Media Video 7 V..... wmv2 Windows Media Video 8 V..... wrapped_avframe AVFrame to AVPacket passthrough V..... xbm XBM (X BitMap) image V..... xface X-face image V..... xwd XWD (X Window Dump) image V..... y41p Uncompressed YUV 4:1:1 12-bit V..... yuv4 Uncompressed packed 4:2:0 VF.... zlib LCL (LossLess Codec Library) ZLIB V..... zmbv Zip Motion Blocks Video A..... aac AAC (Advanced Audio Coding) A..... libfdk_aac Fraunhofer FDK AAC (codec aac) A..... ac3 ATSC A/52A (AC-3) A..... ac3_fixed ATSC A/52A (AC-3) (codec ac3) A..... adpcm_adx SEGA CRI ADX ADPCM A..... g722 G.722 ADPCM (codec adpcm_g722) A..... g726 G.726 ADPCM (codec adpcm_g726) A..... g726le G.726 little endian ADPCM ("right-justified") (codec adpcm_g726le) A..... adpcm_ima_qt ADPCM IMA QuickTime A..... adpcm_ima_wav ADPCM IMA WAV A..... adpcm_ms ADPCM Microsoft A..... adpcm_swf ADPCM Shockwave Flash A..... adpcm_yamaha ADPCM Yamaha A..... alac ALAC (Apple Lossless Audio Codec) A..... libopencore_amrnb OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band) (codec amr_nb) A..... libvo_amrwbenc Android VisualOn AMR-WB (Adaptive Multi-Rate Wide-Band) (codec amr_wb) A..... aptx aptX (Audio Processing Technology for Bluetooth) A..... aptx_hd aptX HD (Audio Processing Technology for Bluetooth) A..... libcodec2 codec2 encoder using libcodec2 (codec codec2) A..... comfortnoise RFC 3389 comfort noise generator A..X.. dca DCA (DTS Coherent Acoustics) (codec dts) A..... eac3 ATSC A/52 E-AC-3 A..... flac FLAC (Free Lossless Audio Codec) A..... g723_1 G.723.1 A..... libgsm libgsm GSM (codec gsm) A..... libgsm_ms libgsm GSM Microsoft variant (codec gsm_ms) A..... libilbc iLBC (Internet Low Bitrate Codec) (codec ilbc) A..X.. mlp MLP (Meridian Lossless Packing) A..... mp2 MP2 (MPEG audio layer 2) A..... mp2fixed MP2 fixed point (MPEG audio layer 2) (codec mp2) A..... libtwolame libtwolame MP2 (MPEG audio layer 2) (codec mp2) A..... libmp3lame libmp3lame MP3 (MPEG audio layer 3) (codec mp3) A..... libshine libshine MP3 (MPEG audio layer 3) (codec mp3) A..... nellymoser Nellymoser Asao A..X.. opus Opus A..... libopus libopus Opus (codec opus) A..... pcm_alaw PCM A-law / G.711 A-law A..... pcm_f32be PCM 32-bit floating point big-endian A..... pcm_f32le PCM 32-bit floating point little-endian A..... pcm_f64be PCM 64-bit floating point big-endian A..... pcm_f64le PCM 64-bit floating point little-endian A..... pcm_mulaw PCM mu-law / G.711 mu-law A..... pcm_s16be PCM signed 16-bit big-endian A..... pcm_s16be_planar PCM signed 16-bit big-endian planar A..... pcm_s16le PCM signed 16-bit little-endian A..... pcm_s16le_planar PCM signed 16-bit little-endian planar A..... pcm_s24be PCM signed 24-bit big-endian A..... pcm_s24daud PCM D-Cinema audio signed 24-bit A..... pcm_s24le PCM signed 24-bit little-endian A..... pcm_s24le_planar PCM signed 24-bit little-endian planar A..... pcm_s32be PCM signed 32-bit big-endian A..... pcm_s32le PCM signed 32-bit little-endian A..... pcm_s32le_planar PCM signed 32-bit little-endian planar A..... pcm_s64be PCM signed 64-bit big-endian A..... pcm_s64le PCM signed 64-bit little-endian A..... pcm_s8 PCM signed 8-bit A..... pcm_s8_planar PCM signed 8-bit planar A..... pcm_u16be PCM unsigned 16-bit big-endian A..... pcm_u16le PCM unsigned 16-bit little-endian A..... pcm_u24be PCM unsigned 24-bit big-endian A..... pcm_u24le PCM unsigned 24-bit little-endian A..... pcm_u32be PCM unsigned 32-bit big-endian A..... pcm_u32le PCM unsigned 32-bit little-endian A..... pcm_u8 PCM unsigned 8-bit A..... real_144 RealAudio 1.0 (14.4K) (codec ra_144) A..... roq_dpcm id RoQ DPCM A..X.. s302m SMPTE 302M A..... sbc SBC (low-complexity subband codec) A..X.. sonic Sonic A..X.. sonicls Sonic lossless A..... libspeex libspeex Speex (codec speex) A..X.. truehd TrueHD A..... tta TTA (True Audio) A..X.. vorbis Vorbis A..... libvorbis libvorbis (codec vorbis) A..... wavpack WavPack A..... libwavpack (codec wavpack) A..... wmav1 Windows Media Audio 1 A..... wmav2 Windows Media Audio 2 S..... ssa ASS (Advanced SubStation Alpha) subtitle (codec ass) S..... ass ASS (Advanced SubStation Alpha) subtitle S..... dvbsub DVB subtitles (codec dvb_subtitle) S..... dvdsub DVD subtitles (codec dvd_subtitle) S..... mov_text 3GPP Timed Text subtitle S..... srt SubRip subtitle (codec subrip) S..... subrip SubRip subtitle S..... text Raw text subtitle S..... webvtt WebVTT subtitle S..... xsub DivX subtitles (XSUB)

Ridolf commented 5 years ago

and yes created

Nandaka commented 5 years ago

hmm, weird then. Most likely, it is permission error when it try to copy the file from temp folder to the actual folder.

Are you using windows? I notice the ffmpeg is using bash, but the temp folder is in c: drive.

Can you try on different pc or run it as admin (it shouldn't require admin, though). Maybe something blocking the copy process (e.g. anti virus?)

photonometric commented 1 year ago

also try to set ffmpeg = ./usr/bin/ffmpeg or ffmpeg = ./ffmpeg ?

Not sure if this specific person ever solved their problem as such, but I came across this same issue when installing on linux this week, and wanted to leave this here as a note. This directory syntax, at least in the first example, is incorrect for a linux system. The period(.) at the beginning of a directory name indicates "current directory" (so the PixivUtil2 home folder), while /usr is an absolute folder at the top of the linux file system...so this results in an unusable contradiction (unless someone had created a /usr/bin inside their PixivUtil2 folder, which is very bad practice).

In the config file, we need to define the ffmpeg path including the ffmpeg folder, so on my system the syntax that works is:

ffmpeg = /usr/bin/ffmpeg

And adding a period (./usr) breaks ffmpeg location at startup. The ffmpeg = ./ffmpeg example does work, if you build or copy the main ffmpeg folder into the PixivUtil2 directory, But this is probably not best practice in terms of permissions, accessibility to other processes, and of course access for upgrade/etc by linux package managers like apt-get—so the default ffmpeg install location for whatever distro should be used. The ffmpeg directory can be found easily with the command whereis ffmpeg.