ffmpeg是强大且完全开源的音视频处理工具,下文主要说明在windows下vs开发工具集成ffmpeg进行相关开发工作

一、将ffmpeg相关的api放入工程

二、配置包含目录、引用目录、链接器等环境

三、动态链接库dll文件可以放到debug目录下

四、代码开发

比如,一个简单的求输入视频文件时长的函数

头文件:

extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
};

函数实现:

float getvideolen(string strInputVideo)
{float VideoLen =-1;AVFormatContext    *pFormatCtx=NULL;pFormatCtx = avformat_alloc_context();int nerrnum = avformat_open_input(&pFormatCtx,strInputVideo.c_str(),NULL,NULL);if( nerrnum!=0 )  {return -2;}nerrnum = avformat_find_stream_info(pFormatCtx,NULL);if( nerrnum<0 )  {return -3;}if (pFormatCtx->nb_streams >0){if(pFormatCtx->duration >0)  {VideoLen= pFormatCtx->duration;}else{VideoLen= -4;}}else{VideoLen = -5;}avformat_close_input(&pFormatCtx);avformat_free_context(pFormatCtx);return VideoLen/1000000;           //ffmpeg返回的是微秒,转换成秒
}

主函数时记得要初始化av_register_all();

int main(int argc, char* argv[])
{av_register_all();     if(NULL==argv[1]){cout<<"No such Input file"<<endl;return -1;}float videolen=getvideolen(argv[1]);cout<<"videolen="<<videolen<<endl;return 0;
}

如果出现错误 fatal error C1189: #error :  missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS

在common.h文件头部加入以下定义

#ifdef __cplusplus
#define __STDC_CONSTANT_MACROS
#ifdef _STDINT_H
#undef _STDINT_H
#endif
# include "stdint.h"
#endif

#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif

运行截图:

完整项目工程包下载:http://download.csdn.net/download/sm9sun/9687608

ffmpeg——vs集成ffmpeg相关开发相关推荐

  1. iOS开发 iOS集成FFmpeg及视频格式转码

    点击下载 Demo 一.FFmpeg简介 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方 ...

  2. 【Android FFMPEG 开发】Android 中执行 FFMPEG 指令 ( 集成 mobile-ffmpeg 框架 | 完整代码示例 )

    文章目录 一.配置远程 Maven 仓库 二.配置依赖 三.Kotlin 中执行 FFmpeg 命令 四.FFmpeg 命令执行结果查看 五.源码下载 一.配置远程 Maven 仓库 在 Androi ...

  3. ffmpeg 找不到bin_FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/109603499 各位读者,知识无穷而人力有穷 ...

  4. 基于NDK、C++、FFmpeg的android视频播放器开发实战-夏曹俊-专题视频课程

    基于NDK.C++.FFmpeg的android视频播放器开发实战-1796人已学习 课程介绍         课程包含了对流媒体(拉流)的播放,演示了播放rtmp的香港卫视,支持rtsp摄像头和ht ...

  5. 视频教程-基于NDK、C++、FFmpeg的android视频播放器开发实战-Android

    基于NDK.C++.FFmpeg的android视频播放器开发实战 夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿真,计算 ...

  6. Android集成FFmpeg

    Android集成FFmpeg 参考:https://www.jianshu.com/p/2c9918546edc 上一篇文章我们在mac下编译出了供Android平台使用的FFmpeg产物,这篇文章 ...

  7. 集成ffmpeg/x264:ERROR: libx264 not found的问题

    集成ffmpeg/x264:ERROR: libx264 not found的问题   --拔剑 集成ffmpeg/x264碰到如下问题:    ERROR: libx264 not found 察看 ...

  8. Android集成FFmpeg并实现视频转码

    通过编译FFmpeg并集成到Android App中实现视频转码,也可以直接执行FFmpeg命令实现视频拼接.剪切.添加水印.旋转等操作,或者在C++中引入各模块头文件直接调用FFmpeg的API满足 ...

  9. 用ffmpeg录制小程序直播开发高清视频并实现直播推流

    导读:用ffmpeg录制小程序直播开发高清视频并实现直播推流,本文用ffmpeg和 screen capture recorder工具实现用命令行方式录制小程序直播开发的高清视频,并将实时录制的高清视 ...

最新文章

  1. 计算机组成原理课设移位,计算机组成原理课设(多寄存器减法、右移位、输入输出、转移指令实验计算机设计)...
  2. sofa-rpc集群容错之Failfast实现
  3. JDK各版本内容和新特性
  4. deepin/win10双系统deepin下其他盘带锁解决
  5. testlink mysql配置_TestLink安装配置手册
  6. adb隐藏状态栏图标_[应用]华为手机怎么设置隐藏状态栏上的图标
  7. 用Python盘点那些豆瓣评分低于3.0的奇葩电影
  8. HDU4628+状态压缩DP
  9. Linux下几种另类创建文件之方法
  10. 如何刷新linux的fdisk,②linux fdisk
  11. 让信息带钩的六种武器——《让创意更有黏性》优秀读后感4300字
  12. 快速生成数据库文档--screw
  13. wordpress mysql缓存_【新功能】wordpress数据库缓存功能介绍和教程
  14. zoomit的使用 - 一个可以直接在演示的时候写字的软件
  15. kangle安装php7.0_Kangle Easypanel面板 PHP多版本切换 安装图文教程
  16. 【真北直播预报】让你的对话更有力,使十维宇宙不坠落
  17. Re:从零开始的 RTL-SDR 折腾记
  18. JS-关于原型与原型链这件事
  19. acrobat给pdf加多行水印_PDF加水印的各种方法
  20. WinCE驱动开发问题精华集锦 [转]

热门文章

  1. c++基础语句代码(循环语句)
  2. 我的世界最危险的服务器生存系列,《我的世界》极具危险的服务器
  3. python两列数据相关性_使用.corr获取两列之间的相关性
  4. Window Operations(窗口函数的使用)
  5. CSS 背景图片 设置居中
  6. HTMLCSSJavaScript个人入门自学笔记
  7. spss 卡方检验_SPSS篇—卡方检验
  8. java中equals的理解(1)
  9. PHPCMS商城:模块_购物车+订单模块(资源合集)
  10. 超迷你个人电脑微型计算机,超迷你HTPC Giada N10深度解析