Internet Explorer và Edge không hỗ trợ một số định dạng MP4 mà Chrome làm. Bạn có thể sử dụng ffprobe
để xem định dạng MP4 chính xác.Trong trường hợp của tôi, tôi có hai video này:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'a.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.101
Duration: 00:00:12.10, start: 0.000000, bitrate: 287 kb/s
Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1/0x31637661), yuv444p, 1000x1000 [SAR 1:1 DAR 1:1], 281 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
Metadata:
handler_name : VideoHandler
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'b.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.66.102
Duration: 00:00:33.83, start: 0.000000, bitrate: 505 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1/0x31637661), yuv420p, 1280x680, 504 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
Cả hai đều phát trong Chrome, nhưng lần đầu tiên không hoạt động trong IE và Edge. Vấn đề là IE và Edge không hỗ trợ yuv444. Bạn có thể chuyển đổi sang một colourspace shittier như thế này:
ffmpeg -i input.mp4 -pix_fmt yuv420p output.mp4
này làm việc sau khi hết thất bại: http://stackoverflow.com/questions/16732419/mp4-from-php-not-playing-in-html5 -video-tag –