Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

ffmpeg c++

作者:Haggard憔悴   发布日期:2025-09-25   浏览:109

#include <iostream>
extern "C" {
#include <libavformat/avformat.h>
#include <libavcodec/avcodec.h>
#include <libavutil/avutil.h>
}

int main() {
    // 初始化FFmpeg库
    av_register_all();
    avformat_network_init();

    // 打开输入文件或流
    AVFormatContext* formatContext = nullptr;
    if (avformat_open_input(&formatContext, "input.mp4", nullptr, nullptr) != 0) {
        std::cerr << "无法打开输入文件" << std::endl;
        return -1;
    }

    // 获取流信息
    if (avformat_find_stream_info(formatContext, nullptr) < 0) {
        std::cerr << "无法获取流信息" << std::endl;
        return -1;
    }

    // 打印输入文件信息
    av_dump_format(formatContext, 0, "input.mp4", 0);

    // 关闭输入文件
    avformat_close_input(&formatContext);

    // 清理资源
    avformat_network_deinit();

    std::cout << "处理完成" << std::endl;
    return 0;
}

解释说明:

  1. 初始化FFmpeg库:使用 av_register_all()avformat_network_init() 来初始化FFmpeg库和网络模块。
  2. 打开输入文件或流:使用 avformat_open_input() 打开指定的输入文件(如 "input.mp4")。
  3. 获取流信息:使用 avformat_find_stream_info() 获取输入文件的流信息。
  4. 打印输入文件信息:使用 av_dump_format() 打印输入文件的详细信息。
  5. 关闭输入文件:使用 avformat_close_input() 关闭输入文件。
  6. 清理资源:使用 avformat_network_deinit() 释放网络模块资源。

这个示例代码展示了如何使用FFmpeg C++ API来打开、读取和关闭一个视频文件。

上一篇:c++ hash

下一篇:c++ usleep

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

队列c++

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站