找回密码
 加入会员

有没有人懂ffmpeg

Safari 13.1.1 macOS 10.15.5

发现一个补帧工具DAIN,非常强大,可是我刚买了个16寸MBP配了个高配A卡,结果这个项目用PyTorch,基于CUDA计算,只能用N卡,我发现Google的colab上面可以免费用显卡,做好的是Tesla P100。

我也在加工这个项目,给他加了不少功能:视频处理,图片序列处理,断点续处理,切镜头检测等。

现在想加一个视频重复帧补全功能,有时候因为性能,I/O速度限制等导致视频有重复帧,我想检测出这些重复帧,并且用DAIN补出当中的帧,但是检测这些帧碰到了问题。



比如我的原视频有100帧,每2-5帧会重复。

  1. ffmpeg -i input.mp4 -vf mpdecimate,setpts=N/FRAME_RATE/TB %05d.png
复制代码
用上面这个代码得到的输出文件是00001.png 00002.png ............ 00032.png。
  1. ffmpeg -i input.mp4  -vf mpdecimate,setpts=N/FRAME_RATE/TB -loglevel debug -f null -
复制代码
这个代码说是能获取log信息,但是看来看去看不懂控制台输出的东西。

通过第一个代码获得的输出文件没法知道到底00001.png和00002.png之间差几帧。
我也试过OpenCV加SkiImage,用ssim检查两帧之间的差距,但没有ffmpeg的算法准。
有没有办法让ffmpeg给我输出比如00001.png 00003.png 00006.png 00007.png 00010.png............. 像这样我可以判断录到的两帧之间差多少帧(时间),最后可以补到和原来一样的帧数,帧率和时间保持原来的。 最后由 iBobbyTS 于 20-7-9 21:44 编辑

20-7-9 21:45:56 发自iPhone客户端
iBobbyTS ( ☆☆☆☆☆ ) ( 赞 3 )

? iPhone X
或者有没有人知道国内国外大的ffmpeg论坛
20-7-9 22:26:21
scegg ( 版主 ) ( 赞 231 )

Chrome 85.0.4183.15 macOS 10.15.5
20-7-10 09:24:31
nebulabox ( ☆☆☆☆ ) ( 赞 18 )

Chrome 83.0.4103.116 macOS 10.15.5
复杂需求你可能需要使用ffmpeg库自己写程序,可以decode frame,然后检查pts/dts,如果是重复帧pts应该是同一个。理论上讲,可能和你的视频编码有关系,不应该出现重复帧。
20-7-10 09:29:18 发自iPhone客户端
iBobbyTS ( ☆☆☆☆☆ ) ( 赞 3 )

? iPhone X
nebulabox 发表于 20-7-10 09:24复杂需求你可能需要使用ffmpeg库自己写程序,可以decodeframe,然后检查pts/dts,如果是重复帧pts应该是同一个。理论上讲,可能和你的视频编码有关系,不应该出现重复帧。

我想过一个思路,很简单,但是不知道能不能实现(在命令行里)。就是用当前帧号命名输出文件,我看在输出文件名里加$然后跟个什么东西,但是我自己没试成功,你知不知道这样可不可行
20-7-15 10:15:03 发自iPhone客户端
iBobbyTS ( ☆☆☆☆☆ ) ( 赞 3 )

? iPhone X
ffmpeg再准也有失误的地方,我还是用AI做吧

 

您需要登录后才可以回帖 登录 | 加入会员

联系我们|急聘英才|移动版|站点地图|iPhone 客户端|保修查询|排行榜|Mac软件宝箱|麦克叉 ( 京ICP证110625号,京ICP备18054784号,公安部备案 11010802033015 )

Since Feb-16-2005

回顶部