91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

Qt + ffmpeg寫的Windows屏幕錄制程序(包含源程序和編譯好的可執行程序) 程序使用方法: ScreenCapture w h w和h分別表示希望錄制的幀寬度和高度

資源截圖

代碼片段和文件信息

#define?__STDC_CONSTANT_MACROS
extern?“C“
{
#include?
#include?
#include?
#include?
#include?
#include?
#include?
}

#define?INBUF_SIZE?4096
#define?AUDIO_INBUF_SIZE?20480
#define?AUDIO_REFILL_THRESH?4096

#include?“capthread.h“
#include?
#include?


void?CapThread::capframe()
{
????QImage?image?=?QPixmap::grabWindow(QApplication::desktop()->winId()).toImage();
????image?=?image.scaled(QSize(resize_width?resize_height));

????av_init_packet(pkt);
????pkt->data?=?NULL;????//?packet?data?will?be?allocated?by?the?encoder
????pkt->size?=?0;

????for?(int?h?=?0;?h?height;?h++)
????{
????????for?(int?w?=?0;?w?width;?w++)
????????{
????????????QRgb?rgb?=?image.pixel(w?h);

????????????int?r?=?qRed(rgb);
????????????int?g?=?qGreen(rgb);
????????????int?b?=?qBlue(rgb);

????????????int?dy?=?((66*r?+?129*g?+?25*b)?>>?8)?+?16;
????????????int?du?=?((-38*r?+?-74*g?+?112*b)?>>?8)?+?128;
????????????int?dv?=?((112*r?+?-94*g?+?-18*b)?>>?8)?+?128;

????????????uchar?yy?=?(uchar)dy;
????????????uchar?uu?=?(uchar)du;
????????????uchar?vv?=?(uchar)dv;

????????????frame->data[0][h?*?frame->linesize[0]?+?w]?=?yy;

????????????if(h?%?2?==?0?&&?w?%?2?==?0)
????????????{
????????????????frame->data[1][h/2?*?(frame->linesize[1])?+?w/2]?=?uu;
????????????????frame->data[2][h/2?*?(frame->linesize[2])?+?w/2]?=?vv;
????????????}

????????}
????}

????frame->pts?=?i;

????/*?encode?the?image?*/
????ret?=?avcodec_encode_video2(c?pkt?frame?&got_output);

????if?(ret?????{
????????printf(“Error?encoding?frame\n“);
????????exit(1);
????}

????if?(got_output)
????{
????????printf(“Write?frame?%3d?(size=%5d)\n“?i?pkt->size);

????????fwrite(pkt->data?1?pkt->size?f);
????????fflush(f);
????????av_free_packet(pkt);
????}

????i?++;
}


CapThread::CapThread(int?width?int?height?Qobject?*parent)?:?QThread(parent)
{
????resize_width?=?width;
????resize_height?=?height;

????avcodec_register_all();
????c=?NULL;
????pkt?=?new?AVPacket;
????i?=?0;


????codec?=?avcodec_find_encoder(AV_CODEC_ID_MPEG1VIDEO);

????if?(codec?==?0)
????{
????????printf(“find?encoder?failed\n“);
????????exit(1);
????}
/*
????const?AVRational*?sup?=?codec->supported_framerates;
????int?k?=?0;
????while(true)
????{
????????AVRational?rat?=?sup[k];
????????if(rat.num?==?0?&&?rat.den?==?0)
????????????break;

????????printf(“%d??%d\n“?rat.num?rat.den);
????????k++;
????}*/

????c?=?avcodec_alloc_context3(codec);
????if?(!c)
????{
????????printf(“alloc?context?failed\n“);
????????exit(1);
????}

????//c->bit_rate?=?400000;
????c->width?=?width;
????c->height?=?height;
????c->time_base?=?(AVRational){1?25};
????c->gop_size?=?20;
????c->max_b_frames?=?1;
????c->pix_fmt?=?AV_PIX_FMT_YUV420P;
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-05-30?21:47??ScreenCapture\
?????文件????????3997??2014-05-30?21:45??ScreenCapture\capthread.cpp
?????文件?????????704??2014-05-30?21:40??ScreenCapture\capthread.h
?????文件????????4161??2014-05-30?21:38??ScreenCapture\main.cpp
?????目錄???????????0??2014-05-30?21:47??ScreenCapture\release\
?????文件????19348992??2014-05-28?10:07??ScreenCapture\release\avcodec-55.dll
?????文件?????1340928??2014-05-28?10:07??ScreenCapture\release\avdevice-55.dll
?????文件?????2036224??2014-05-28?10:07??ScreenCapture\release\avfilter-4.dll
?????文件?????5651456??2014-05-28?10:07??ScreenCapture\release\avformat-55.dll
?????文件??????420864??2014-05-28?10:07??ScreenCapture\release\avutil-52.dll
?????文件??????118784??2011-12-02?09:30??ScreenCapture\release\libgcc_s_dw2-1.dll
?????文件??????979982??2011-12-02?09:30??ScreenCapture\release\libstdc++-6.dll
?????文件???????47972??2011-08-24?06:59??ScreenCapture\release\mingwm10.dll
?????文件??????121344??2014-05-28?10:07??ScreenCapture\release\postproc-52.dll
?????文件?????2847232??2013-03-28?21:21??ScreenCapture\release\QtCore4.dll
?????文件????10137600??2013-03-28?21:20??ScreenCapture\release\QtGui4.dll
?????文件???????63488??2014-05-30?21:45??ScreenCapture\release\ScreenCapture.exe
?????文件??????278016??2014-05-28?10:07??ScreenCapture\release\swresample-0.dll
?????文件??????434176??2014-05-28?10:07??ScreenCapture\release\swscale-2.dll
?????文件?????????746??2014-05-30?13:38??ScreenCapture\ScreenCapture.pro
?????文件???????28043??2014-05-30?21:43??ScreenCapture\ScreenCapture.pro.user

評論

共有 條評論