我有一个 mp4 视频文件,我想使用 avfoundation 在 iOS 中播放它。不幸的是,即使它具有h264视频编解码器和aac音频编解码器,该文件也没有被播放并且无法保存到默认图库(照片)中。它只有在我使用 ffmpeg 重新编码时才能播放。我想知道为什么文件只有在重新编码视频后才能播放?
Not Playable(originalFile.mp4) vs Playable File(outputFile.mp4)信息对比
应用这些命令时,文件可通过 avfoundation 播放:
ffmpeg -y -hide_banner -i originalFile.mp4 -f mp4 -vcodec h264 -vf scale=out_color_matrix=bt709 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -b:v 5703k -acodec aac -b:a 249k outputFile.mp4
ffmpeg -y -hide_banner -i originalFile.mp4 -f mp4 -vcodec h264 -acodec aac outputFile.mp4
应用此命令时,文件无法使用 avfoundation 播放:
ffmpeg -y -hide_banner -i originalFile.mp4 -f mp4 -vcodec copy -acodec aac outputFile.mp4
originalFile.mp4 文件链接: https ://drive.google.com/file/d/1-yZFL0EsLztMIfwU79Al6dv8gdwJyGAD/view?usp=sharing
两个文件的 ffprobe 流都在这里 https://www.diffchecker.com/VgZL66QB