尝试使用
FFmpeg将一个小时长的
MKV
文件转换为MP4
,但在转换过程中它一直给我这个错误:
Could not find tag for codec wavpack in stream #1, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
我尝试过使用其他转换器,但它们都有文件大小限制,使用Handbrake和VLC转换需要很长时间。我试图在谷歌上搜索某种答案,但没有任何论坛帖子可以解决此类问题。
错误就是你的答案。 mp4 不支持 Wavpack。因此,您必须使用支持它的容器(mkv)或对其进行转换。然而,您可能只转换音频并保留视频。
例如
ffmpeg -i my.mkv -vcodec copy -acodec aac my.mp4
好吧,我遇到的问题看起来与你的问题非常接近,但问题是 amr_nb 编解码器而不是 wavpack。
[mp4 @ 0x7189a8001500] Could not find tag for codec amr_nb in stream #1, codec not currently supported in container
[out#0/mp4 @ 0x718b4802efc0] Could not write header (incorrect codec parameters ?): Invalid argument
[aost#0:1/copy @ 0x7189a8005680] Error initializing output stream:
对我有帮助的是创建一个命令修饰符来将“-c copy”替换为“-c:v copy -c:a aac”,以复制视频并重构音频:
String modifiedCommand = execute.command.replaceAll('-c copy', '-c:v copy -c:a aac');
然后我用了那个
await FFmpegKit.executeAsync(modifiedCommand, (session) async {
final code = await session.getReturnCode();
}
让我知道它对你有用吗! (应该有帮助:))