升级到10.15后,截图的录屏功能就不好用了,尽管已经给它授权使用屏幕录制了。
最近都是使用自带的“截屏”,你可以在 “应用程序”–>“实用工具”里找到,访达完整路径是 “/System/Applications/Utilities/Screenshot.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 就可以发给朋友或同事了。