avformat_new_stream
时间: 2023-10-04 18:09:23 浏览: 209
将视频存储为一张张jpg 图片源码
avformat_new_stream是FFmpeg库中的一个函数,用于创建一个新的音视频流。它的定义如下:
```
AVStream *avformat_new_stream(AVFormatContext *s, const AVCodec *c);
```
其中,s是创建的音视频流所属的AVFormatContext上下文,c是AVCodec结构体,表示音视频编解码器。该函数会返回一个AVStream指针,表示创建的新的音视频流。
在使用该函数之前,需要首先初始化AVFormatContext上下文,例如使用avformat_alloc_output_context2函数创建一个新的AVFormatContext上下文,并设置其输出格式、文件名等信息。然后,可以使用avformat_new_stream函数创建一个新的音视频流,并将其添加到AVFormatContext上下文中,如下所示:
```
AVFormatContext *out_ctx;
AVOutputFormat *out_fmt;
AVStream *out_stream;
AVCodec *codec;
// 初始化out_ctx,设置输出格式、文件名等信息
// 查找音视频编解码器
codec = avcodec_find_encoder(out_fmt->audio_codec);
// 创建新的音视频流
out_stream = avformat_new_stream(out_ctx, codec);
// 设置音视频流的编码参数、时间基等信息
// 将音视频流添加到AVFormatContext上下文中
avformat_write_header(out_ctx, NULL);
```
通过上述步骤,就可以成功地创建一个新的音视频流,并将其添加到AVFormatContext上下文中,准备进行音视频编码和输出。
阅读全文