当前位置: 首页 > news >正文

网站建设与维护高考试卷wordpress 导航栏效果

网站建设与维护高考试卷,wordpress 导航栏效果,瑞安做网站公司,服装加工平台avformat 用于解析容器和协议(protocol)。 avcodec 用于编码和解码基本流(您已经拥有的)。 Qt/C音视频开发44-本地摄像头推流(支持分辨率/帧率等设置/实时性极高)_feiyangqingyun的博客-CSDN博客 void FFmpegThread::initInputFormat() {//本地摄像头/桌…

avformat 用于解析容器和协议(protocol)。 avcodec 用于编码和解码基本流(您已经拥有的)。

Qt/C++音视频开发44-本地摄像头推流(支持分辨率/帧率等设置/实时性极高)_feiyangqingyun的博客-CSDN博客

void FFmpegThread::initInputFormat()
{//本地摄像头/桌面录屏if (videoType == VideoType_Camera) {
#if defined(Q_OS_WIN)//ifmt = av_find_input_format("vfwcap");ifmt = av_find_input_format("dshow");
#elif defined(Q_OS_LINUX)//可以打开cheese程序查看本地摄像头(如果是在虚拟机中需要设置usb选项3.1)//ifmt = av_find_input_format("v4l2");ifmt = av_find_input_format("video4linux2");
#elif defined(Q_OS_MAC)ifmt = av_find_input_format("avfoundation");
#endif} else if (videoType == VideoType_Desktop) {
#if defined(Q_OS_WIN)ifmt = av_find_input_format("gdigrab");
#elif defined(Q_OS_LINUX)ifmt = av_find_input_format("x11grab");
#elif defined(Q_OS_MAC)ifmt = av_find_input_format("avfoundation");
#endif}
}bool FFmpegThread::initInput()
{//实例化格式处理上下文formatCtx = avformat_alloc_context();//设置超时回调(有些不存在的地址或者网络不好的情况下要卡很久)formatCtx->interrupt_callback.callback = FFmpegHelper::avinterruptCallBackFun;formatCtx->interrupt_callback.opaque = this;//打开输入(通过标志位控制回调那边做超时判断)//其他地方调用 formatCtx->url formatCtx->filename 可以拿到设置的地址(两个变量值一样)tryOpen = true;QByteArray urlData = VideoHelper::getRightUrl(videoType, videoUrl).toUtf8();int result = avformat_open_input(&formatCtx, urlData.data(), ifmt, &options);tryOpen = false;if (result < 0) {debug("打开出错", "错误: " + FFmpegHelper::getError(result));return false;}//根据自己项目需要开启下面部分代码加快视频流打开速度//开启后由于值太小可能会出现部分视频流获取不到分辨率if (decodeType == DecodeType_Fastest && videoType == VideoType_Rtsp) {//接口内部读取的最大数据量(从源文件中读取的最大字节数)//默认值5000000导致这里卡很久最耗时(可以调小来加快打开速度)formatCtx->probesize = 50000;//从文件中读取的最大时长(单位为 AV_TIME_BASE units)formatCtx->max_analyze_duration = 5 * AV_TIME_BASE;//内部读取的数据包不放入缓冲区//formatCtx->flags |= AVFMT_FLAG_NOBUFFER;//设置解码错误验证过滤花屏//formatCtx->error_recognition |= AV_EF_EXPLODE;}//获取流信息result = avformat_find_stream_info(formatCtx, NULL);if (result < 0) {debug("找流失败", "错误: " + FFmpegHelper::getError(result));return false;}//解码格式formatName = formatCtx->iformat->name;//某些格式比如视频流不做音视频同步(响应速度快)if (formatName == "rtsp" || videoUrl.endsWith(".sdp")) {useSync = false;}//设置了最快速度则不启用音视频同步if (decodeType == DecodeType_Fastest) {useSync = false;}//有些格式不支持硬解码if (formatName.contains("rm") || formatName.contains("avi") || formatName.contains("webm")) {hardware = "none";}//本地摄像头设备解码出来的直接就是yuv显示不需要硬解码if (videoType == VideoType_Camera || videoType == VideoType_Desktop) {useSync = false;hardware = "none";}//过低版本不支持硬解码
#if (FFMPEG_VERSION_MAJOR < 3)hardware = "none";
#endif//获取文件时长(这里获取到的是秒)double length = (double)formatCtx->duration / AV_TIME_BASE;duration = length * 1000;this->checkVideoType();//有时候网络地址也可能是纯音频if (videoType == VideoType_FileHttp) {onlyAudio = VideoHelper::getOnlyAudio(videoUrl, formatName);}if (getIsFile()) {//文件必须要音视频同步useSync = true;//发送文件时长信号emit receiveDuration(duration > 0 ? duration : 0);}QString msg = QString("格式: %1 时长: %2 秒 加速: %3").arg(formatName).arg(duration / 1000).arg(hardware);debug("媒体信息", msg);return true;
}

在线电子书

main入口函数分析—ffplay.c源码分析 · FFmpeg原理

http://www.yayakq.cn/news/991345/

相关文章:

  • 网页制作与网站建设教程视频wordpress微信群机器人
  • 做营销的网站网站支付怎么做虚拟币支付
  • 办公家具网站模板完成公司网站建设
  • dedecms网站地图前台路径不修改html5网站引导页
  • 教做月嫂的网站有吗程序开发步骤不包括
  • 纹身网站设计在线简历制作网站免费
  • 凡科建站官网怎么样app设计开发要多少钱
  • 苏州吴中区做网站价格济南个人急售二手房
  • 未来做那些网站能致富wordpress 调用文章标签
  • 云南做网站费用中国建设银行官网站电脑版
  • 织梦网站如何做优化学校网站建设的验收单
  • 广西圣泰建设工程有限公司网站龙之向导外贸网站
  • 网站需要去工信部做备案吗黄岛建设局网站
  • 西部数码网站核验单下载如何做电影网站赚钱
  • 成都网站建设高端快速建站网站啦
  • 做网站需要多少兆空间如何批量建网站
  • 网咯鸟深圳网站建设设计发明的网站
  • php网站欣赏wordpress搜索页面不同
  • 哈尔滨 网站开发响应式网页模板制作
  • 新塘网站设计中国建设网官方网站下载e路最新版
  • 怎样做影视网站wordpress视频发布站主题
  • 口碑好的网站开发搜索企业的软件
  • 网站开发属于IT行业wordpress升级崩了
  • 深圳英文网站建设公众号修改wordpress
  • 成都手机号码网站建设中国移动国际精品网
  • 电商网站建设推荐优化优化
  • 南京铁路建设网站电龙网站建设
  • 网站平台推广方案竞价网站和优化网站的区别
  • 网站开发一般用什么服务器企业网站定制
  • 门户网站开发项目的风险网站制作课题组