由于mac自带录屏是mov并且文件特别大,我使用ffmpeg转码视频为h265

使用如下命令

ffmpeg_command = [
        ffmpeg_path,
        "-i", input_path,
        "-c:v", "libx265",
        "-preset", "veryslow",
        "-map_metadata", "0",  # 保留元数据
        output_path
    ]

点开转码完的文件后,出现如下报错。

continue进入后,发现音频正常播放。尝试发到手机/window电脑后,发现正常播放

一番查询后,发现这里是属于apple的一个坑。

视频文件一般来说会有一个标签来标识文件到底是什么编码,对于h265一般有hev1,hvc1,dvh1。FFmpeg默认是使用hev1标签(ISO/IEC 14496-15),但是由于读取hev1标签会导致要扫视频流,apple为了避免安全问题禁止。而必须要加一个 "-tag:v", "hvc1"的标签。最后,解决

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐