doğ*_*an 4 c++ encoding ffmpeg aac transcoding
我正在使用ffmpeg transcoding.c示例。当我将视频编码器编解码器设置为AV_CODEC_ID_H264,将音频编码器编解码器设置为AV_CODEC_ID_AAC时,出现以下错误。
我该如何解决这个问题。
doğ*_*an 5
首先,感谢您的回答。
我的问题的解决方案是AVBitStreamFilterContext *。我在“ encode_write_frame”方法中添加了以下几行,这没关系。
if(ifmt_ctx->streams[stream_index]->codec->codec_type == AVMEDIA_TYPE_VIDEO && ifmt_ctx->streams[stream_index]->codec->codec_id == AV_CODEC_ID_H264){
AVBitStreamFilterContext* h264BitstreamFilterContext = av_bitstream_filter_init("h264_mp4toannexb");
av_bitstream_filter_filter(h264BitstreamFilterContext, ofmt_ctx->streams[stream_index]->codec, NULL, &enc_pkt.data, &enc_pkt.size, enc_pkt.data, enc_pkt.size, 0);
} else if(ifmt_ctx->streams[stream_index]->codec->codec_id == AV_CODEC_ID_AAC) {
AVBitStreamFilterContext* aacBitstreamFilterContext = av_bitstream_filter_init("aac_adtstoasc");
av_bitstream_filter_filter(aacBitstreamFilterContext, ofmt_ctx->streams[stream_index]->codec, NULL, &enc_pkt.data, &enc_pkt.size, enc_pkt.data, enc_pkt.size, 0);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6559 次 |
最近记录: |