6

用例非常简单。Imagemagick 能够进行转换,但我想使用 ffmpeg 进行转换。这是我尝试过的所有命令,所有命令都给出了 moov atom not found 错误。

ffmpeg -i /Users/ajitesh/Downloads/sample1.heif -c:v png -pix_fmt rgb48 /Users/ajitesh/Downloads/sample.png

输出

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f85aa813200] moov atom not found
/Users/ajitesh/Downloads/sample1.heif: Invalid data found when processing input

通过尝试使用以下命令提取 moov atom 的位置,似乎 moov atom 实际上不存在

ffmpeg -v trace -i /Users/ajitesh/Downloads/sample1.heif 2>&1 | grep -e type:\'mdat\' -e type:\'moov\'

输出

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f824c00f000] type:'mdat' parent:'root' sz: 2503083 420 2503495
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f824c00f000] type:'mdat' parent:'root' sz: 2503083 420 2503495
4

1 回答 1

10

FFmpeg 目前不支持 HEIF 解码(截至 2021 年 1 月 11 日)。

检查错误报告#6521: HEIF 支持,因为 FFmpeg 开发处于活动状态,未来情况可能会发生变化。

于 2020-12-24T18:53:18.410 回答