正好遇到同样的问题,自己解决了,所以来分享一下经验。
# 发现问题
我想把一段小视频从 Mac 传到 iPhone 上,然后分享到朋友圈。第一次这样做时,视频分享到朋友圈后没有出现第一帧变成黑屏的情况,但是第二次就出现了。
# 分析问题
两次都是只有几秒钟的小视频,为什么第一个视频不会有黑屏而第二个有呢?后来我想起来我两次操作的不同之处:
针对第一段视频,我是在 Mac 上登录微信客户端,然后将视频通过文件传输助手发送到 iPhone 上。在 iPhone 上收到视频后,将视频保存到手机相册。最后在微信中将保存到手机相册的这段视频分享到朋友圈。
针对第二段视频,我是从 Mac 上通过 AirDrop 传到 iPhone 的手机相册的。然后在微信中将传到手机相册的这段视频分享到朋友圈。
这两次有什么不同?我突然意识到,通过微信传输视频时,微信自动对视频进行了*压缩*!而通过 AirDrop 发送时没有压缩。为了验证这个猜想,我通过第三方软件查看了这两段视频的大小,第一段是 多 K,第二段是 多 K。显然,第一段视频比第二段视频小多了。
接下来,我主动对第二段视频进行了压缩,从 K 到 K、K,最后到 K。每压缩一次,就通过 AirDrop 传到 iPhone 上。前几次依然有第一帧变黑屏的情况,直至最后一次压缩到 K 左右时,分享到朋友圈不会出现第一帧变黑屏的情况!
# 解决问题
最后,我的结论是:只要把视频大小控制在 K 以内,就不会出现第一帧变黑屏的情况。这个结论我自己验证是没问题的,但不保证放之四海而皆准,因此仅供参考。