Khi tôi cố gắng mở một bộ phim tôi vừa tạo bằng lệnh:
ffmpeg -pattern_type glob -i '*.JPG' -s 640x480 movie.mp4
Tôi gặp lỗi từ QuickTime:
The document “movie.mp4” could not be opened.
The file may be damaged or may not be a movie file that is compatible with QuickTime Player.
Tôi đã sử dụng lệnh tương tự trên một tập hợp các hình ảnh được tạo từ một khoảng thời gian iSight, nhưng trong trường hợp này, các hình ảnh trên là từ một máy ảnh kỹ thuật số. Độ phân giải cao hơn rất nhiều, nhưng tôi đang tăng tỷ lệ lên 640x480 và tôi không thấy bất cứ điều gì trong đầu ra có vấn đề:
Input #0, image2, from '*.JPG':
Duration: 00:00:04.76, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc), 4928x3264, 25 tbr, 25 tbn, 25 tbc
so với bộ phim làm việc:
Input #0, image2, from '*.JPG':
Duration: 00:01:23.72, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc), 640x480 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 25 tbn, 25 tbc
Và cho đầu ra:
Output #0, mp4, to 'movie.mp4':
Metadata:
encoder : Lavf55.19.104
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj422p, 640x480, q=-1--1, 12800 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libx264)
so với người làm việc:
Output #0, mp4, to 'movie.mp4':
Metadata:
encoder : Lavf55.19.104
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 12800 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libx264)
Ngoài phim làm việc dài hơn và độ phân giải nguồn thấp hơn, điểm khác biệt duy nhất tôi có thể thấy là có thêm "[SAR 1: 1 DAR 4: 3]" được đề cập trong luồng video, nhưng tôi không biết điều này là gì là, hoặc làm thế nào để cố gắng ép buộc nó trong bộ phim không hoạt động.
Cập nhật: Tôi vừa tải xuống VLC và nó phát phim rất hay. Vì vậy, tôi biết ffmpeg không có lỗi ở đây.
ffprobe video.mp4
có thể được sử dụng để kiểm tra định dạng pixel nào được sử dụng.