您链接到的视频的 ffprobe 输出看起来应该像您所说的那样播放:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/testvideo.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42mp41
creation_time : 2017-09-26T14:58:09.000000Z
Duration: 00:00:06.04, start: 0.000000, bitrate: 536 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 524 kb/s, 25 fps, 25 tbr, 50k tbn, 50 tbc (default)
Metadata:
creation_time : 2017-09-26T14:58:09.000000Z
handler_name : Alias Data Handler
encoder : AVC Coding
鉴于它之前确实播放过,长期解决方案可能是正确的 iOS 修复程序,但在短期内,如果您使用“基线”而不是“高”h.264 配置文件重新编码,您可能会发现它有一个更好的工作机会。
大多数设备都试图确保它们至少支持正确的基线编码,因此您经常会发现它在针对移动设备时使用。对于给定的质量,它的效率不高,但目前对您来说可能是一个不错的权衡。