QT 视频播放器

播放一个视频文件的流程如下所示:

封装格式数据 FLV MKV MP4

        解封装格式

AAC.MP3.. 音频压缩数据      视频压缩数据 H.264,MPeg2..

    音频解码         视频解码

PCM       音频采样数据          视频像素数据  YUV

                     视音频同步

              声音                 图像

ffmpeg的下载地址  https://ffmpeg.zeranoe.com/builds/ 

SDL2下载地址:http://www.libsdl.org/download-2.0.php

ffmpeg  下载Shared Dev 取shared里的BIN Dev里的lib和include

SDL2 下载  Visual C++ 32/64-bit 取Include和Lib

pro里的配置

INCLUDEPATH += $$PWD/ffmpeg/include \

$$PWD/SDL/include\

LIBS += $$PWD/ffmpeg/lib/avcodec.lib\

$$PWD/ffmpeg/lib/avdevice.lib\

$$PWD/ffmpeg/lib/avfilter.lib\

$$PWD/ffmpeg/lib/avformat.lib\

$$PWD/ffmpeg/lib/avutil.lib\

$$PWD/ffmpeg/lib/postproc.lib\

$$PWD/ffmpeg/lib/swresample.lib\

$$PWD/ffmpeg/lib/swscale.lib\

$$PWD/SDL/lib/x86/SDL2.lib

3.添加头文件

extern "C"

{

#include "libavcodec/avcodec.h"

#include "libavutil/time.h"

#include "libavformat/avformat.h"

#include "libswscale/swscale.h"

#include "libavdevice/avdevice.h"

#include "libavutil/imgutils.h"

#include <libswresample/swresample.h>

#include <SDL.h>

#include <SDL_audio.h>

#include <SDL_types.h>

#include <SDL_name.h>

#include <SDL_main.h>

#include <SDL_config.h>

}

4.ffmpeg测试

qDebug()<<QString(avcodec_configuration());

qDebug()<<"version:"<<QString::number(avcodec_version());

5.测试结果

"--disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt"

version: "3815012"

6.错误修改

#undef main

int main(int argc, char *argv[])

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值