我有一个 React Native 应用程序,它正在尝试对用户视频进行转码,以便它们采用两个平台都可以本地播放的格式,我们目前在设备上执行此操作,因为我们不想在拥有稳定的用户群之前产生 API 成本。
我有几个问题,首先我要说一下我对 ffmpeg 的了解,虽然不是最好的,而且大多是拼凑起来的。
- 为什么下面的代码会产生无法播放但仍有音频的视频。
if (Platform.OS === 'ios') { await FFmpegKit.execute(`-i ${path} -c:v hevc_videotoolbox -c:a aac -movflags +faststart -y ${outputPath}`); } else { await FFmpegKit.execute(`-i ${path} -c:v hevc_omx -c:a aac -movflags +faststart -y ${outputPath}`); }
- 是否有一组更好的命令来运行可在两个平台上播放的 1080p 视频?
我正在使用 ffmpeg 进入应用程序https://github.com/arthenica/ffmpeg-kit并且正在使用该min-gpl
发行版。如果我将命令设置为使用其 h264 替代方案作为编解码器(h264_videotoolbox
& h264_omx
),它会生成工作文件,但我希望使用 hevc 来最小化文件大小。
更新 - 已解决
需要-tag:v hvc1
添加,以便 Apple 播放器可以播放 HEVC 内容。