我只有 h.264 编码的视频流,我想制作 mp4 文件。
/* 查找 mp4 的输出格式 */
m_pOutputFormat=av_guess_format("mp4", NULL, NULL);
如果(!m_pOutputFormat)返回假;// 找不到合适的输出格式(mp4)。
在这段代码中,我得到的视频编解码器不是 h264 的 mpeg,我认为这是因为我在没有 libx264 的情况下构建了 ffmpeg。(而且我不想用 libx264 构建 ffmpeg 以获得许可)
m_pOutputFormat->video_codec=CODEC_ID_H264;
当我将其 video_codec 更改为 CODEC_ID_H264 时,某些播放器(kmplayer)可以正常工作。但它不适用于 ipod、QuickTime。
此代码可能是错误的,因为它无法更改 codec_tag 值(此变量具有 const 属性)。
1.如何在不重新编译 libav+libx264 的情况下获得 av_guess_format("mp4",NULL,NULL) 的其他结果?
2.如何正确制作mp4文件?