• 大小: 13MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-29
  • 语言: 其他
  • 标签: ffmpeg  

资源简介

ffmpeg_windows屏幕录制并编码成H264。 该工程为qt_creator工程

资源截图

代码片段和文件信息

#include 
extern “C“
{
    #include “libavcodec/avcodec.h“
    #include “libavformat/avformat.h“
    #include “libswscale/swscale.h“
    #include “libavdevice/avdevice.h“
}
//‘1‘ Use Dshow
//‘0‘ Use VFW
#define USE_DSHOW 0
//Show Dshow Device
void show_dshow_device()
{
    AVFormatContext *pFormatCtx = avformat_alloc_context();
    AVDictionary* options = NULL;
    av_dict_set(&options“list_devices““true“0);
    AVInputFormat *iformat = av_find_input_format(“dshow“);
    printf(“========Device Info=============\n“);
    avformat_open_input(&pFormatCtx“video=dummy“iformat&options);
    printf(“================================\n“);
}
//Show Dshow Device Option
void show_dshow_device_option()
{
    AVFormatContext *pFormatCtx = avformat_alloc_context();
    AVDictionary* options = NULL;
    av_dict_set(&options“list_options““true“0);
    AVInputFormat *iformat = av_find_input_format(“dshow“);
    printf(“========Device Option Info======\n“);
    avformat_open_input(&pFormatCtx“video=Integrated Camera“iformat&options);
    printf(“================================\n“);
}
//Show VFW Device
void show_vfw_device()
{
    AVFormatContext *pFormatCtx = avformat_alloc_context();
    AVInputFormat *iformat = av_find_input_format(“vfwcap“);
    printf(“========VFW Device Info======\n“);
    avformat_open_input(&pFormatCtx“list“iformatNULL);
    printf(“=============================\n“);
}
//Show AVFoundation Device
void show_avfoundation_device()
{
    AVFormatContext *pFormatCtx = avformat_alloc_context();
    AVDictionary* options = NULL;
    av_dict_set(&options“list_devices““true“0);
    AVInputFormat *iformat = av_find_input_format(“avfoundation“);
    printf(“==AVFoundation Device Info===\n“);
    avformat_open_input(&pFormatCtx““iformat&options);
    printf(“=============================\n“);
}
#define USE_DSHOW 1
int main(int argc char* argv[])
{
    AVFormatContext *pFormatCtx;
    int i videoindex;
    AVCodecContext *pCodecCtx;
    AVCodec *pCodec;

    AVCodecContext *pH264CodecCtx;
    AVCodec *pH264Codec;

    av_register_all();
    avformat_network_init();
    avdevice_register_all();//Register Device
    pFormatCtx = avformat_alloc_context();
    //抓取屏幕
    AVInputFormat *ifmt=av_find_input_format(“gdigrab“);
    if(avformat_open_input(&pFormatCtx“desktop“ifmtNULL)!=0){
            printf(“Couldn‘t open input stream. “);
            return -1;
        }
    if(avformat_find_stream_info(pFormatCtxNULL)<0)
    {
        printf(“Couldn‘t find stream information.\n“);
        return -1;
    }
    videoindex=-1;
        for(i=0; inb_streams; i++)
        {
            if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO)
            {
                videoindex=i;
            }
        }
        if(videoindex==-1)
        {
            printf(“Couldn‘t find a video stream.\n“);
            retu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-28 12:12  ffmpeg1\
     目录           0  2018-03-27 17:08  ffmpeg1\ffmpeg\
     文件         462  2018-03-27 22:50  ffmpeg1\ffmpeg1.pro
     文件       23947  2018-03-27 21:18  ffmpeg1\ffmpeg1.pro.user
     目录           0  2018-03-27 17:07  ffmpeg1\ffmpeg\bin\
     文件    19646464  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\avcodec-56.dll
     文件     1367552  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\avdevice-56.dll
     文件     2314752  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\avfilter-5.dll
     文件     5839360  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\avformat-56.dll
     文件      452096  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\avutil-54.dll
     文件      324608  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\ffmpeg.exe
     文件      475136  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\ffplay.exe
     文件      152576  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\ffprobe.exe
     文件      121344  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\postproc-53.dll
     文件      270336  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\swresample-1.dll
     文件      446976  2014-12-31 06:21  ffmpeg1\ffmpeg\bin\swscale-3.dll
     目录           0  2018-03-27 17:07  ffmpeg1\ffmpeg\include\
     目录           0  2018-03-27 17:07  ffmpeg1\ffmpeg\include\libavcodec\
     文件      179819  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\avcodec.h
     文件        3111  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\avfft.h
     文件        3764  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\dv_profile.h
     文件        2358  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\dxva2.h
     文件       10623  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\old_codec_ids.h
     文件        4007  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\vaapi.h
     文件        5437  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\vda.h
     文件        7094  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\vdpau.h
     文件        6340  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\version.h
     文件        2317  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\vorbis_parser.h
     文件        6062  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavcodec\xvmc.h
     目录           0  2018-03-27 17:07  ffmpeg1\ffmpeg\include\libavdevice\
     文件       16642  2014-12-31 06:21  ffmpeg1\ffmpeg\include\libavdevice\avdevice.h
............此处省略112个文件信息

评论

共有 条评论