Qt5+FFmpeg实现视频软解码播放 基本流程 使用FFmpeg解封装获取视频流 对视频流进行解码得到原始数据 将解码后的数据转换为Qt可显示的格式 使用Qt组件显示视频画面 主要步骤 1. 初始化FFmpeg 123456// 注册所有组件av_register_all();// 打开视频文件avformat_open_input(&formatContext, filename, nullptr, nullptr);// 获取流信息avformat_find_stream_info(formatContext, nullptr); 2. 查找视频解码器 1234// 获取视频流索引videoIndex = av_find_best_stream(formatContext, AVMEDIA_TYPE_VIDEO, -1, -1, nullptr, 0);// 获取解码器AVCodec *codec = avcodec_find_decoder(formatContext->streams[videoIndex]->codecpar->codec_id); 3. 解码并显示 123456789101112// 读取视频帧av_read_frame(formatContext, packet);// 解码avcodec_send_packet(codecContext, packet);avcodec_receive_frame(codecContext, frame);// 转换为RGB格式sws_scale(swsContext, frame->data, frame->linesize, 0, codecContext->height, frameRGB->data, frameRGB->linesize);// 显示画面QImage image(frameRGB->data[0], codecContext->width, codecContext->height, QImage::Format_RGB32);label->setPixmap(QPixmap::fromImage(image)); 部分代码图片