avformat_write_header(this->octx, NULL) ffmpeg如何知道写入octx的时间多久了
时间: 2024-03-29 14:35:48 浏览: 21
在调用 `avformat_write_header()` 函数时,FFmpeg 会自动获取当前系统时间,并将其存储在输出上下文(`octx`)的 `start_time` 字段中。`start_time` 是一个 `int64_t` 类型的变量,表示输出流的起始时间戳。输出流中每个数据包的时间戳都是相对于 `start_time` 的偏移量。因此,当你向输出流写入数据时,FFmpeg 会自动计算每个数据包的时间戳,并将其写入到输出文件中。如果你想获取输出文件中某个数据包的时间戳,可以使用 `AVPacket` 结构体中的 `pts` 字段。
相关问题
avformat_write_header返回-111
avformat_write_header函数返回-111通常表示输入或输出格式不支持所提供的参数或设置。这可能是由于未正确设置AVFormatContext结构体或AVCodecParameters参数导致的。建议您检查以下内容:
1. 确保输入或输出格式支持所需的视频和音频编解码器。
2. 检查AVFormatContext结构体的设置是否正确。特别是,确保设置了正确的视频和音频编解码器参数,以及正确的封装格式参数。
3. 确保打开输入或输出文件时没有出现错误,并且文件可以正确读取或写入。
4. 检查FFmpeg版本是否正确,并且所有的库都正确地链接到了您的应用程序中。
如果以上步骤都无法解决问题,建议您查看FFmpeg的文档和代码,以了解更多有关AVFormatContext结构体和avformat_write_header函数的信息。
avformat_write_header返回-22
AVFormatContext的avformat_write_header函数返回-22表示发生了一个非常常见的错误,即"Invalid argument",通常是由于传递给函数的参数无效或错误引起的。
要解决这个问题,你可以检查传递给函数的参数是否正确、完整和有效。例如,检查输入文件是否存在并且可以读取,输出文件是否已经存在并且可以写入,以及编解码器参数是否正确设置等。你还可以尝试使用调试器来跟踪代码并查找问题所在。
另外,你可以查看AVFormatContext结构体中的错误代码和错误信息,以便更好地了解发生了什么错误。使用av_strerror函数可以将错误代码转换为错误信息。例如:
```
if (ret < 0) {
char error[1024];
av_strerror(ret, error, sizeof(error));
printf("Error occurred: %s\n", error);
}
```
这样,你就可以获得更多关于错误的信息,以便更好地调试和解决问题。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)