Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anime4KCPP_GUI 音画不同步问题 #27

Closed
appllee opened this issue Jun 19, 2020 · 26 comments
Closed

Anime4KCPP_GUI 音画不同步问题 #27

appllee opened this issue Jun 19, 2020 · 26 comments

Comments

@appllee
Copy link

appllee commented Jun 19, 2020

我尝试用Anime4KCPP_GUI对20min的480P动漫进行超分辨率,设置为“平衡”,放大两倍。
发现无论是CPU单独计算,还是GPU加速,生成的动漫都会出现音画不同步,具体情形如下:
1、音轨速度正常
2、画面播放速度大约在1.5倍速。
由此造成音画不同步。

然后,我测试了4-5min的动漫MV,720P放大两倍。用CPU单独计算,音画基本是同步的。简单说画面播放速度正常。

使用笔记本,win 10 1709 , i7 8750H, 1050ti, 16G RAM。

请问作者能否复现该问题?这是我电脑的bug,还是win10 的bug,或者软件的bug?作者给的测试样例里面是1min32s的视频,没有涉及到长视频的测试,我也不确定问题在哪里。

另外,有么有可能将这个Anime4KCPP嵌入到播放器呢?作者给计算时间一般短于视频时长,尤其是有GPU加速后,时间更短。说明做到实时超分辨率是可能的。如果可以实时,嵌入播放器岂不美哉?

感谢作者的辛劳!

@TianZerL
Copy link
Owner

TianZerL commented Jun 19, 2020

可否提供测试样例,我这边还没遇到过这种情况,软件不会更改帧数的(除非使用DXVA,会把帧数向上取整,因为微软的编码器只接收整数帧数),音轨是原视频直接合并。长视频我也测试过,也就是一集正常的动漫,都是没问题的。
你也可以尝试更改编码器,默认为了压缩文件大小和更快的编码速度用的mp4v,可以换为更流行的AVC1(H264)

@TianZerL
Copy link
Owner

TianZerL commented Jun 19, 2020

嵌入到播放器可以用vapoursynth或者AviSynthPlus脚本(potplayer),也可以直接使用原版Anime4K提供的GLSL文件(MPV)

@appllee
Copy link
Author

appllee commented Jun 19, 2020

我先多找几个动漫测试一下吧。
我也很奇怪,因为用于测试的MV就正常,而20min的动漫出现问题。
样例我整理好了发给你。

@TianZerL
Copy link
Owner

试试换个编码器呢

@TianZerL
Copy link
Owner

我随便试了一集720p,25分钟的动漫,没复现出,显卡P106-90(GTX1050), 开启ACNet, HDN。播放器用的Win10默认和MPC-BE都没问题。是否可能是播放器的问题呢。

@appllee
Copy link
Author

appllee commented Jun 19, 2020

我没有开启ACNet, HDN。
用的是默认算法,是Anime4K吧?

@appllee
Copy link
Author

appllee commented Jun 19, 2020

我播放器分别用potplayer 和MPC,都是出现播放速度加快

@appllee
Copy link
Author

appllee commented Jun 19, 2020

这个是测试样例,和结果
https://send.firefox.com/download/92b86c8ed891c882/#lTpgyY2nL4ABL8ZkCE02Gg

@TianZerL
Copy link
Owner

开不开ACNet理论上对视频输出并不会有什么影响,因为大家用的视频IO模块都是一样的😂。您看看有问题的视频的帧数正常吗

@appllee
Copy link
Author

appllee commented Jun 19, 2020

帧率

这是转换后视频的帧率,原视频是480P的。

@appllee
Copy link
Author

appllee commented Jun 19, 2020

另外发现原视频里面有字幕,而转换后的视频没有了。

@TianZerL
Copy link
Owner

TianZerL commented Jun 19, 2020

转换并不会合并MKV的字幕轨道,您可以手动抽取或者挂载外置字幕。原视频也是30帧的吗?
(GitHub好像挂了,一刷新就500错误😂)

@appllee
Copy link
Author

appllee commented Jun 19, 2020

无标题2

这是原视频

@TianZerL
Copy link
Owner

TianZerL commented Jun 19, 2020

不好意思,您可以传到其它地方吗,这个下得太慢了链接过期了都没下完😂。
或者您可以提供该视频的原始链接

@appllee
Copy link
Author

appllee commented Jun 19, 2020

我想了想,可能是帧率问题,这个case里面,转换后的视频播放加速了。

你看截图里面,一个原视频输出帧率是29.97(23.88),,,转化后的视频就是29.97(30.04),不知道这部分有什么影响。

分享的话,百度网盘可以吗?

@TianZerL
Copy link
Owner

TianZerL commented Jun 19, 2020

那问题可能在于,原视频实际上是30帧,但约定以24帧显示,类似720x480视频实际以16:9显示,而转换后视频变为原始的30帧。试试奶牛快传呢,这个的服务器在国内,度盘也很慢。
这种情况比较少见,在总帧数不变的情况下,您应该可以通过设置播放速度为80%来解决该问题。

@appllee
Copy link
Author

appllee commented Jun 19, 2020

奶牛快传的链接:https://c-t.work/s/4ae45688aa1a45
播放速度,我测试了,不太行。理论上应该是画面速度降到80%,音轨不动,然而调整播放速度,两者,包括音轨会一起变慢,所以不太可行

@TianZerL
Copy link
Owner

TianZerL commented Jun 19, 2020

您可以尝试调慢视频,然后载入原始视频作为音轨使用,或者直接用其他转码工具转为24帧,看是否正常。
我这边测试以后,应该可以加入针对这种情况强制转换为24帧的选项。
确实变快了,而且比例正好是80%,应该就是我们猜想的情况。

@appllee
Copy link
Author

appllee commented Jun 19, 2020

我手动降低下播放速度,和原视频对比,基本上同步了。
应该就是帧率问题。应该是23.98帧。
远古的视频存在各式各样的。。。特点。。

而且是否能在GUI界面里面加入,暂停,停止键?
暂停不好加话,停止键 希望能有一个。
另外能不能显示进度和用时呢?现在一旦启动,完全不知道运行到哪里了,还要多久。

@TianZerL
Copy link
Owner

会考虑添加的,这些本身也是下一个版本的目标之一😀

@TianZerL
Copy link
Owner

TianZerL commented Jun 19, 2020

强制转为24帧基本同步了,后期音轨轻微慢了些,可以考虑稍微再提高帧数,但这个视频着实很与特点。。。建议先用转码工具转为标准的23.976帧的视频再进行处理。。。

@appllee
Copy link
Author

appllee commented Jun 19, 2020

嗯是,有些老的动漫视频是这样的。
新的片子基本上都是还好。
但是强制规定帧数会不会对其他动漫有影响?或者写个选择分支,一般动漫按照原来方式处理,特殊的按照强制规定帧数处理?

@TianZerL
Copy link
Owner

当然会设定为可选项啊,有必要才手动启用,指定帧数,进度条也加入了

@TianZerL
Copy link
Owner

暂停,停止键,进度条都有了,感谢你的建议😀

@TianZerL
Copy link
Owner

TianZerL commented Jun 22, 2020

请下载最新版,已支持进度显示,剩余时间显示,暂停处理,停止处理,FPS指定等功能,同时也出了将Anime4KCPP嵌入大多数Windows下的播放器的官方教程,请参阅wiki

@semmyenator
Copy link

semmyenator commented Oct 31, 2020

When processing MKV files, output file sound and video are out of sync.

Try to use Anime4KCPP_GUI to super-resolve the anime.
Found that whether the CPU alone, or GPU acceleration, the generated anime will appear audio and video out of sync, the specific situation is as follows.
1、The speed of the audio track is normal.
2、The video screen is playing too fast.
This causes the audio and video are not synchronized.

This side has not encountered this situation, the software will not change the number of frames (unless the use of DXVA, the number of frames will be rounded upward, because Microsoft's encoder only receives an integer number of frames), the audio track is the original video directly merged. I have also tested the long video, that is, a normal episode of anime, all are no problem.

You can also try to change the encoder, the default is mp4v for compressed file size and faster encoding speed, you can replace it with the more popular AVC1 (H264).

This is usually caused by the program automatically judge the frame rate is not accurate, you can try to specify the frame rate manually. For some of the variable frame rate compressed video, it is recommended to compress it twice before processing and change to a fixed frame rate.

The use of AMD GPU using "ffmpeg -i "input.mkv" -c:v hevc_amf -c:a copy output.mp4" for pre-processing MKV can solve the problem.

If you use Nvidia GPU, you can use "ffmpeg -i "input.mkv" -hwaccel auto -c:a copy output.mp4" command to preprocess MKV.

粗譯一下,希望能幫助有需要的外國人
萬勝節快樂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants