资源简介
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个文件信息
- 上一篇:网页设计——印象西藏代码.zip
- 下一篇:[概率论与数理统计]陈希孺带目录
相关资源
- windows32位系统的ffmpeg
- 利用ffmpeg提取任意格式视频帧关键帧
- ffmpeg3.0源码
- FFmpeg解码+SDL播放
- ffmpeg封装H264成MP4、AVI视频格式,及提
- 从零开始学习音视频编程技术十二 录
- AudioResample
- 最简单的基于FFmpeg的libswscale的教程
- ffmpeg-2.5.2-win32-shared
- 利用FFmpeg将mkv视频转换为H.264
- 安卓交叉编译ffmepgx86_64版本
- ffmepg的安卓arm(armeabi-v7a)版本
- 基于ARM9的远程视频监控系统
- 最简单的基于FFmpeg的封装格式转换器
- SDK播放器加速.zip
- 基于ffmpeg的经典版 ffplay 音视频播放
- ffmpeg api实现视频转码音视频
- FFMPEG入门基础资料pdf
- ffmpeg ffdoc (FFMPEG的最完整教程)
- ffmpeg转码为hls代码
- ffmpeg-4.0.2最新版 windows vs2013编译动态
- ffmpeg实现直播功能
- linuxubuntu下ffmpeg + alsa 的音频播放器
- 内存H264+PCM发布rtmp.rar
- ffmpeg-4.2.1-win32-dev.zip
- M3U8视频PC机64位辅助工具2.0 —&md
- ffmpeg-3.2.tar.bz2
- 适用于VC的FFMpeg静态库已编译)
- 使用ffmpeg api解码h264视频码流,并且能
- MP4v2录制rtsp流存为MP4文件
评论
共有 条评论