ffmpeg生成裸眼3D、伪3D视频

昨天发现B站上有裸眼3D, 眼睛平行着观看,可以看到眼珠炸裂的3D效果, 直让人打开新世界的大门。
在熬了一晚上,深入研究之后,我发现除了真3D拍摄的影片之外,还有一类伪3D,效果也相当不错,特别是观看某些适合自己一个人观看的视频时。

经过研究,发现原理是左右两边画面不同步,左边要快30毫秒,从而让眼睛可以看到更多的面,产生立体感。
话不多说,以下为ffmpeg的生成命令。
ffmpeg生成伪3D视频:
在这里插入图片描述

#将demo.mp4切去前面30毫秒,输出到demo1.mp4
ffmpeg -ss 00:00:00.030 -i demo.mp4 -vcodec copy -acodec copy demo1.mp4
#合并demo.mp4 demo1.mp4,一左一右生成3D视角
ffmpeg -i demo.mp4 -vf "movie=demo1.mp4 [in1]; [in]pad=iw*2:ih:iw:0[in0]; [in0][in1] overlay=0:0 [out]" -vcodec libx264 -preset medium -b:v 1200k -r:v 25 -f mp4 demo2.mp4

生成结果如下:在这里插入图片描述
在这里插入图片描述
伪3D视频说到这里。
下面开始说左右格式的裸眼3D。
观看左右格式的3D视频,有两种办法,1是佩戴VR眼镜,2是手机上使用平行眼观看,第二种则是我们接下来要做的。

平行眼: 放松双眼,或者看向原处,用余光看手机,直到出现重影,红点(视频正下方的图片水印)出现四个,调整聚焦让中间两个红点重叠,变成3个红点3个画面,中间画面就是3D的,随后拉远距离,保证眼睛舒服即可。原理是左眼看左边画面,右眼看右眼画面,也可用手掌隔开左右眼做辅助。

为了方便观看裸眼3D视频,我们需要给原本的伪3D加上一个写轮眼,方便对焦,以及更好的观看,如图。
在这里插入图片描述
下面是具体脚本代码:

#写轮眼辅助, 向下填充50像素, 并将写轮眼以水印的形式置入
.\bin\ffmpeg.exe -i demo.mp4 -vf "movie=mark.png [in1],[in]pad=iw:ih+50:iw:0[in0];[in0][in1] overlay=main_w/2-overlay_w/2:main_h-overlay_h-10[out]"  mark.mp4

#将demo.mp4切去前面30毫秒, 输出到short.mp4 。短片抽30毫秒合适,3D效果强, 电视剧则适合20毫秒
.\bin\ffmpeg.exe -ss 00:00:00.030 -i mark.mp4 -vcodec copy -acodec copy short.mp4
#.\bin\ffmpeg.exe -ss 00:00:00.020 -i mark.mp4 -vcodec copy -acodec copy short.mp4

# 清理垃圾文件
del out.mp4

#合并demo.mp4 short.mp4,一左一右生成3D视角
.\bin\ffmpeg.exe -i mark.mp4 -vf  "movie=short.mp4 [in1]; [in]pad=iw*2:ih:iw:0[in0]; [in0][in1] overlay=0:0 [out]" -vcodec libx264 -preset medium -b:v 1200k -r:v 25 -f mp4 out.mp4

#清理垃圾文件
del mark.mp4
del short.mp4

pause

为了方便使用,我将ffmpeg以及脚本在github上做了傻瓜式整合,直接点击start.cmd即可转换视频,以下是地址:
https://github.com/hailong29/3DFactory

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值