解决Mac录屏生成的mov无法播放问题

升级到10.15后,截图的录屏功能就不好用了,尽管已经给它授权使用屏幕录制了。
在这里插入图片描述

最近都是使用自带的“截屏”,你可以在 “应用程序”–>“实用工具”里找到,访达完整路径是 “/System/Applications/Utilities/Screenshot.app”
截屏.app

“截屏”允许你框选一个区域进行录制,录制完成后会在桌面上生成一个 mov格式的视频文件,文件名格式为 “屏幕录制2020-07-11 下午10.02.37.mov”
截屏 录制选项
这个mov直接拖到qq和微信,发给朋友或同事,对方有可能播放不了 也有可能播放画面错误~~糟了个糕!

第一反应是想通过ffmpeg转换mov,转换时出现此类提示

[libx264 @ 0x7f9eff817600] width not divisible by 2 (367x219)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!

大致的意思是 导出的视频 宽度和高度都要是偶数。
ffmpeg在转码的时候已经告诉我们,视频的宽高是367x219。宽和高都不是偶数,需要手动调整下了

ffmpeg -i "/Users/hf/Desktop/1.mov" -s 368x220 "/Users/hf/Desktop/1.mp4"

通过表达式,让ffmpeg自动处理成偶数

f1="/Users/hf/Desktop/1.mov"
f2="/Users/hf/Desktop/1.mp4"
w="if(mod(iw\,2)\,iw-1)"
h="if(mod(ih\,2)\,ih-1)"
ffmpeg -y -i "${f1}" -vf "scale=${w}:${h}" "${f2}"

iw,源视频的宽度(input width),如果宽度不是偶数,则在宽度基础上减去1px
ih,源视频的宽度(input height),如果高度不是偶数,则高度减1px

另外mov是苹果专用格式,还可能包含一些特殊属性,我们可以加一些mp4通用参数让mp4有更好的兼容性

f1="/Users/hf/Desktop/1.mov"
f2="/Users/hf/Desktop/1.mp4"
w="if(mod(iw\,2)\,iw-1)"
h="if(mod(ih\,2)\,ih-1)"
ffmpeg -y -i "${f1}" -pix_fmt yuv420p -vcodec libx264 -profile:v high -level:v 4.1 -vf "scale=${w}:${h}" "${f2}"

这样转好的mp4 就可以发给朋友或同事了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值