应用 ffmpeg 复古效果后视频不播放

Video not playing after ffmpeg vintage effect is applied

我正在为 android 使用 ffmpeg 3.3.4。我正在执行以下简单命令:

 ffmpeg -i input.mp4 -vf curves=vintage -c:a aac ouput.mp4

 ffmpeg -i input.mp4 -vf curves=vintage -c:a copy ouput.mp4

生成的视频未在 android 默认视频播放器和 Exoplayer 中播放。我在 windows 上尝试使用 windows 媒体播放器,它只播放声音但不播放视频。虽然 VLC 媒体播放器在 android 和 windows 上可以正常播放。知道上面的命令中缺少什么吗?

输出视频元数据: https://www.metadata2go.com/result/e9f9b7db-0a91-4148-9073-1a1162f0c7f0

我找到了答案。 curves 过滤器将输入转换为 RGB 编码,但大多数视频播放器需要特定的 YUV 方案。所以我添加了 yuv420p 作为输出格式。

ffmpeg -i input.mp4 -vf curves=vintage,format=yuv420p -c:a copy ouput.mp4