pxder icon indicating copy to clipboard operation
pxder copied to clipboard

下载下来的动态图的zip压缩包,如何将里面图片还原或制作成动图,并且将画质损耗降到最低呢

Open MROrangeFanta opened this issue 6 years ago • 29 comments

我应该用什么程序制作呢,目前我能够操作的软件只能做到30帧甚至不到,或者画质变的很差,而且都是转化成gif格式,怎么才能做成用PixivAnimatDownloader下载的html那样高品质的格式呢?

MROrangeFanta avatar May 27 '19 08:05 MROrangeFanta

貌似 PixivAnimatDownloader 没有开源,无法得知其使用了什么方法

不过 pixiv plus 脚本使用了 gif.js,你可以看一下它的转换效果如何

这个功能可以在后续版本中加入

Tsuk1ko avatar May 29 '19 08:05 Tsuk1ko

不过 gif 格式动图本来的体积就很大,十分大,这也是为什么从p站下载到的动图是分成每一帧的,p站实际上是将这些 jpg 图片放在 canvas 中按设定好的帧率切换而已

一个十几 MB 的 gif,如果拆分成 jpg 或者使用 mp4 之类的视频格式储存,可能就 1MB 不到

如果一定要减小 gif 体积,必定要牺牲像素数、帧数、色彩数等

Tsuk1ko avatar May 29 '19 08:05 Tsuk1ko

效果是不错,下载的动图体积不到2倍,色彩也没有太大的丢失,缺点是帧数轻微变低,导致动画时长略微变长。

增加这个功能的话应该不错,对于科学上网网速捉鸡的人(我)可以先下载后预览一下,再决定是否去下载原图,而且gif图也能更方便的在移动端上分享(至少我的手机打不开html文件)

目前的话,相比 pixiv plus,还是PixivAnimatDownloader更加适合用来下载p站动图。(不用一直开着该动图的网页)

最后,pxder非常棒非常好用,比心(′▽`ʃ♡ƪ)

MROrangeFanta avatar May 29 '19 13:05 MROrangeFanta

@MROrangeFanta 谢谢😆

Tsuk1ko avatar May 29 '19 16:05 Tsuk1ko

那大佬考不考虑加个下载时自动转gif功能呢QAQ

LCYLYM avatar Jun 19 '19 14:06 LCYLYM

@LCYLYM 在计划中,~~当然具体更新可能要到7月多,打算重写一个 GUI 版~~ GUI 咕了

Tsuk1ko avatar Jun 19 '19 16:06 Tsuk1ko

QAQ静等

神代綺凜 [email protected] 于2019年6月20日周四 上午12:46写道:

@LCYLYM https://github.com/LCYLYM 在计划中,当然具体更新可能要到7月多,打算重写一个 GUI 版

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Tsuk1ko/pxder/issues/13?email_source=notifications&email_token=ALA4FTCFM7WI43RRN7R2OOTP3JPGBA5CNFSM4HPZWSU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYCPB3I#issuecomment-503640301, or mute the thread https://github.com/notifications/unsubscribe-auth/ALA4FTCUXO2DFEA4JAPED53P3JPGBANCNFSM4HPZWSUQ .

LCYLYM avatar Jun 20 '19 01:06 LCYLYM

@LCYLYM 在计划中,当然具体更新可能要到7月多,打算重写一个 GUI 版

唔。。。求下载收藏时能保存下。。不要每次下载收藏都得重新收集。。。

LCYLYM avatar Jun 22 '19 09:06 LCYLYM

象征性的更新一下进度

因为 gif.js 只能在浏览器环境下使用,所以我又找了可以在 node 端使用的 gif-encoder,它本身也是 gif.js 的一个 fork

按理来说它们的效果应该是几乎一样的,但 gif-encoder 生成的实际上比 gif.js 生成的大了 30% 左右,唯一和质量有关的参数也是一样的,很怪

https://github.com/Tsuk1ko/pxder/blob/3e4269f99f0a9a4cfc9ca48d054895a0a3ec1860/src/zip2gif.js#L1-L54

每次看到生成这么鬼大的 gif 真是想咕咕咕,gif 已经很落后了,说到底为什么国内聊天软件还不考虑将 mp4 作为动图表情格式的一种

Tsuk1ko avatar Aug 26 '19 09:08 Tsuk1ko

GIF。。。。感觉还好吧。。而且现在动图还是占大部分的啊。。。mp4表情没那么快普及吧。。QAQ

LCYLYM avatar Aug 27 '19 03:08 LCYLYM

@LCYLYM 唉,等一个思想进步,学学 telegram(

Tsuk1ko avatar Aug 27 '19 04:08 Tsuk1ko

5)PDHOVHSFWW6P~QX2BBJ15

LCYLYM avatar Aug 27 '19 04:08 LCYLYM

@LCYLYM唉,等一个思想进步,学学电报(

需要挺多时间的吧。。现在大量表情都是gif。。。。。而且gif还是很多人用的-_-||

LCYLYM avatar Aug 27 '19 04:08 LCYLYM

象征性的更新一下进度

因为gif.js只能在浏览器环境下使用,所以我又找了可以在node端使用的gif-encoder,它本身也是gif.js的一个fork

按理来说它们的效果应该是几乎一样的,但gif-encoder生成的实际上比gif.js生成的大了30%左右,唯一和质量有关的参数也是一样的,很怪

https://github.com/Tsuk1ko/pxder/blob/3e4269f99f0a9a4cfc9ca48d054895a0a3ec1860/src/zip2gif.js#L1-L54

每次看到生成这么鬼大的gif真是想咕咕咕,gif已经很落后了,说到底为什么国内聊天软件还不考虑将mp4作为动图表情格式的一种

所以现在可以自动转gif了咩QAQ

LCYLYM avatar Aug 27 '19 04:08 LCYLYM

@LCYLYM 目前状况是这样的,就算按最好情况来算,gif.js 生成的千夜画的 Miku 吃瓜gif就有4.6MB了,毕竟原图分辨率也比较高,这种大小gif根本没办法直接拿去QQ发

如果你想缩减大小,最好的选择是降低分辨率,但这个在node上想实现非常麻烦,要用数个第三方包,而且为了处理图像这些包还要引入预构建的可执行文件,这让本来很轻巧的程序变得很庞大,但明明就只为了这一个功能而已,我觉得很不值,不如交给专门做这个工作的软件来处理

Tsuk1ko avatar Aug 27 '19 04:08 Tsuk1ko

emmmm主要是收藏啦QAQ,原图也没问题。。。 我用这个 https://chrome.google.com/webstore/detail/pixiv-toolkit/ajlcnbbeidbackfknkgknjefhmbngdnj 下的gif原图也打,但是主要是收藏和高清,所以挺喜欢原图gif的QAQ [image: QQ图片20190804191013.jpg] 😙

神代綺凜 [email protected] 于2019年8月27日周二 下午12:08写道:

@LCYLYM https://github.com/LCYLYM 目前状况是这样的,就算按最好情况来算,gif.js 生成的千夜画的 Miku 吃瓜gif就有4.6MB了,毕竟原图分辨率也比较高,这种大小gif根本没办法直接拿去QQ发

如果你想缩减大小,最好的选择是降低分辨率,但这个在node上想实现非常麻烦,要用数个第三方包,而且为了处理图像这些包还要引入预构建的可执行文件,这让本来很轻巧的程序变得很庞大,但明明就只为了这一个功能而已,我觉得很不值,不如交给专门做这个工作的软件来处理

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Tsuk1ko/pxder/issues/13?email_source=notifications&email_token=ALA4FTENGL4E2XIOFM5BNL3QGSSE3A5CNFSM4HPZWSU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5GNGQQ#issuecomment-525128514, or mute the thread https://github.com/notifications/unsubscribe-auth/ALA4FTFNBE5S7B3RRLMLFRLQGSSE3ANCNFSM4HPZWSUQ .

LCYLYM avatar Aug 27 '19 14:08 LCYLYM

qwq 如果想要无损的话不如尝试一下手动使用ffmpeg把压缩包里面的图片生成mp4? 我目前所使用的ffmpeg指令是 ffmpeg -r 30 -i ./%06d.jpg 1.mp4 , 把压缩包里面的图片解压之后cd过去运行就可以了。 其中 -r 30 指帧率为30,可以改成其他的;

ffmpeg也可以将mp4转成gif,指令是 ffmpeg -i xxx.mp4 -s 640x480 -r 15 xxx.gif

KagurazakaShirosatosu avatar Aug 29 '19 18:08 KagurazakaShirosatosu

@Luobogao 可以,有空我看看 node 有没有合适的 ffmpeg 的封装

Tsuk1ko avatar Aug 30 '19 00:08 Tsuk1ko

前阵子看到有人做了个把游戏cg压成视频的工具,不过好像没开源,我问问作者有没有兴趣加上把序列帧压成视频的功能🤔

darkskygit avatar Dec 29 '19 16:12 darkskygit

大概把下载的图全部压成视频也没问题,cg压缩了因为还可以解压出来

darkskygit avatar Dec 29 '19 16:12 darkskygit

象征性的更新一下进度 因为gif.js只能在浏览器环境下使用,所以我又找了可以在node端使用的gif-encoder,它本身也是gif.js的一个fork 按理来说它们的效果应该是几乎一样的,但gif-encoder生成的实际上比gif.js生成的大了30%左右,唯一和质量有关的参数也是一样的,很怪 https://github.com/Tsuk1ko/pxder/blob/3e4269f99f0a9a4cfc9ca48d054895a0a3ec1860/src/zip2gif.js#L1-L54

每次看到生成这么鬼大的gif真是想咕咕咕,gif已经很落后了,说到底为什么国内聊天软件还不考虑将mp4作为动图表情格式的一种

所以现在可以自动转gif了咩QAQ

~~毕竟gif不用审核就能发布~~

KagurazakaShirosatosu avatar Dec 31 '19 12:12 KagurazakaShirosatosu

感觉转成 webm 或者 mp4 之类的挺香的… ffmpeg 可以直接调用(让用户自己去下x

Skimige avatar Mar 06 '20 15:03 Skimige

感觉转成 webm 或者 mp4 之类的挺香的… ffmpeg 可以直接调用(让用户自己去下x

原本确实是这么打算的,但是由于自己现在也不怎么用 pxder 了,没有动力去写新功能了

image

Tsuk1ko avatar Mar 06 '20 15:03 Tsuk1ko

QWQ

神代綺凜 [email protected] 于2020年3月6日周五 下午11:26写道:

感觉转成 webm 或者 mp4 之类的挺香的… ffmpeg 可以直接调用(让用户自己去下x

原本确实是这么打算的,但是由于自己现在也不怎么用 pxder 了,没有动力去写新功能了

[image: image] https://user-images.githubusercontent.com/24877906/76096985-e287b600-6001-11ea-890c-e06f8a7a3e5e.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Tsuk1ko/pxder/issues/13?email_source=notifications&email_token=ALA4FTGEJ3BBYRLKWDGDKOTRGEI3FA5CNFSM4HPZWSU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOBXRFA#issuecomment-595818644, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALA4FTF5MYFZ3K6ZHTUK66TRGEI3FANCNFSM4HPZWSUQ .

LCYLYM avatar Mar 07 '20 03:03 LCYLYM

是换工具了还是不怎么下载了qwq

神代綺凜 [email protected] 于2020年3月6日周五 下午11:26写道:

感觉转成 webm 或者 mp4 之类的挺香的… ffmpeg 可以直接调用(让用户自己去下x

原本确实是这么打算的,但是由于自己现在也不怎么用 pxder 了,没有动力去写新功能了

[image: image] https://user-images.githubusercontent.com/24877906/76096985-e287b600-6001-11ea-890c-e06f8a7a3e5e.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Tsuk1ko/pxder/issues/13?email_source=notifications&email_token=ALA4FTGEJ3BBYRLKWDGDKOTRGEI3FA5CNFSM4HPZWSU2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOBXRFA#issuecomment-595818644, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALA4FTF5MYFZ3K6ZHTUK66TRGEI3FANCNFSM4HPZWSUQ .

LCYLYM avatar Mar 07 '20 03:03 LCYLYM

主要是下载下来很多压缩包希望能批量转或者批量从p站直接下下来gif,主要是自己看。。

LCYLYM avatar Mar 13 '20 00:03 LCYLYM

写了段 bash 脚本 调用 ffmpeg 来转换成 .mp4, 直接用了压缩包文件名中的 delay 值配置帧率, 在 pxder 的下载目录执行脚本就好了, 用了 findparallel 进行批量转换.

ak1ra-komj avatar Dec 19 '21 09:12 ak1ra-komj