ffmpeg使用笔记】的更多相关文章

前言   本篇章是对之前windows环境的补充,之前windows的是无需进行编译的,此篇使用源码进行编译,版本就使用3.4.8.   FFmpeg简介   FFmpeg是领先的多媒体框架,能够解码,编码, 转码,mux,demux,流,过滤和播放人类和机器创建的几乎所有内容.它支持最模糊的古代格式,直至最前沿.无论它们是由某些标准委员会,社区还是公司设计的.它还具有高度的可移植性:FFmpeg可以在各种构建环境,机器体系结构和配置下,跨Linux,Mac OS X,Microsoft Win…
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062本文章博客地址:https://blog.csdn.net/qq21497936/article/details/108573195各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子(红模仿)的博文大全:开发技术集合(包含Qt…
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062本文章博客地址:https://blog.csdn.net/qq21497936/article/details/108639103各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子(红模仿)的博文大全:开发技术集合(包含Qt…
前言   ffmpeg播放rtsp网络流和摄像头流.   Demo   使用ffmpeg播放局域网rtsp1080p海康摄像头:延迟0.2s,存在马赛克     使用ffmpeg播放网络rtsp文件流:偶尔卡顿,延迟看不出    使用vlc软件播放局域网rtsp1080p海康摄像头:演示2s,不存在马赛克    使用vlc软件播放网络rtsp文件流:不卡顿,延迟看不出     FFmpeg基本播放流程 ffmpeg解码流程   ffmpeg新增API的解码执行流程.  新api解码基本流程如下:…
FFmpeg和SDL开发专栏(点击传送门) 上一篇:<FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放>下一篇:敬请期待   前言   将ffmpeg移植到海思HI3559.Hi3516平台上,需要交叉编译.   FFmpeg下载   开发使用当前3.4.8稳定版本:  官方地址:http://ffmpeg.org/download.html#releases  CSDN下载地址:https://download.csdn.net/download/qq2149793…
       对于每一个刚開始学习的人,刚開始接触ffmpeg时,想必会有三个问题最为关心,即ffmpeg是什么?能干什么?怎么開始学习?本人前段时间開始接触ffmpeg,在刚開始学习过程中.这三个问题尤其最后一个问题着实困扰了我一下.如今将我对ffmpeg的一点理解分享出来.希望对正在学习ffmpeg编程的同学有帮助.        1. ffmpeg是什么?        (1)你能够把ffmpeg理解成一套音视频解决方式.而且还是免费.开源.跨平台的解决方式.它提供了录制.转换以及流化音视…
官网 http://ffmpeg.org/ 应用手册 http://ffmpeg.org/documentation.html 雷霄骅专栏 https://blog.csdn.net/leixiaohua1020/column/info/ffmpeg-devel https://blog.csdn.net/leixiaohua1020/article/details/15811977 刘岐<ffmpeg从入门到精通> ffmpeg的书籍极少 ffmpeg基础 https://wenku.bai…
1.从mp4中提取h264:ffmpeg -i 264.mp4 -codec copy -bsf h264_mp4toannexb -f h264 output.h2642.从mp4中提取hevc:ffmpeg -i 265.mp4 -codec copy -bsf hevc_mp4toannexb -f hevc output.hevc3.h264/hevc --> yuv:ffmpeg -i 264.mp4/265.mp4 -vcodec rawvideo -an output.yuv4.裸…
http://blog.csdn.net/qq_19079937/article/details/43191211 在MP4结构体系里面,hdlr字段(具体在root->moov->trak->mdia->hdlr)里面包含了该流是视频or音频or字母. ffmpeg代码: 在ffmpeg代码里面,使用流中得codec->codec_type来判断该流是哪种类型的流. 在ISO_IEC_14496国际标准第十二部分标注如下: 在MP4文件里面搜68 64 6C 72(hdlr…
之前的视频解码仍然存在问题,那就是是在主线程中去完成解码的,会造成线程阻塞,这里将其改为多线程解码,使其主线程不被阻塞 前面介绍了音视频的主线程解码,那样会阻塞主线程,在前面学习了多线程以后,就可以对音频和视频分离开来在子线程里解析了,但这样存在音视频同步的问题了,这里贴出代码,只是提供一种思路,其运行存在大量问题,还需要慢慢解决.例如,退出发生异常,音视频不同步 #include <android/log.h> #include <stdio.h> #include <st…
之前已经用他人的编译脚本对ffmpeg进行了成功编译,那么在裁剪ffmpeg的时候需要指定文件,这时候应该怎么编写编译脚本呢?本文目的在于说明ffmpeg编译脚本的编写 首先在ffmpeg的目录下新建编译脚本 touch android_build.sh #新建编译脚本 chmod 755 android_build.sh #修改权限 打开编译脚本,进行脚本编写 vim android_build.sh 最开始一行写入如下,表示这是一个bash脚本 #!/bin/bash 定义编译ffmpeg的…
前文讲到音频解码,将音频解码,并且输入到PCM文件,这里将音频通过AudioTrack直接输出 音频播放说明 在Android中自带的MediaPlayer也可以对音频播放,但其支持格式太少 使用ffmpeg可以支持更多格式 常用的音频播放有很多种方式,但播放PCM就只有OpenSL和AudioTrack 这里使用AudioTrack进行实现 在上文中已经实现了音频的解码,而在本文中,将对解码完成的音频进行播放 在解码完成以后不是将其转化为PCM存储,而是直接进行播放 为何要播放PCM格式音频,…
在之前的文章已经初步对视频解码有个初步的认识了,接下来来看一看音频解码 音频解码步骤 音频解码与视频解码一样,有者固有的步骤,只要按照步骤来,就能顺利的解码音频 以上是ffmpeg的解码流程图,可以看到,无论是音频还是视频,其步骤都是一样的,差别在于在视频处理和音频处理的方法不一样 音频解码步骤 由于音频解码步骤与视频类似,这里就直接使用之前测试ffmpeg生成是否可用的demo进行改进 注册组件av_register_all() 打开输入文件avformat_open_input() 获取输入…
上次已将ffmpeg的动态库编译出来了,并且使用了ffmpeg的转码功能,成功将mp4格式视频转化为yuv视频,这篇文章基于上次测试的demo,使用surfaceview显示解码完成的像素数据 布局设置和权限添加 布局 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and…
Android平台要使用ffmpeg就需要编译生成动态库,这里采用Ubuntu编译Android动态库 文件准备 要编译生成Android需要以下文件 NDK ffmpeg源代码 NDK下载 NDK可以去Google下载,也可以在国内一些Android网站下载 这里推荐两个Android的下载网站 Android Studio 中文组 AndroidDevTools ffmpeg ffmpeg在其官网可以直接下载,不需要翻墙 官网下载地址 配置环境 我这里下载的是android-ndk-r10e…
ffmpeg官网提供了window平台下额开发工具供开发者使用,这篇文章主要以3.2版本的ffmpeg作为演示,记录在VS2013下,怎么去编译ffmpeg 下载 在官网中,按照以下步骤下载 下载Windows版 选择需要的版本 下载版本 这里接下来就是选择版本,这里我选择3.2版 配置环境 将下载源文件解压,新建win32空项目,将dev目录下的include和lib文件夹复制到项目中 将shared下的dll动态库添加到项目中 添加完成后目录结构如图所示 配置附加包含目录:项目右键 -> 属…
ffmpeg用来对音视频进行处理,那么在使用ffmpeg前就需要ffmpeg有一个大概的了解,这里使用雷神的ppt素材进行整理,以便于复习 音视频基础知识 视频播放器的原理 播放视频的流程大致如下: 常用播放器 跨平台 VLC,Mplayer,ffplay等 Windows平台 完美解码,终极解码,暴风影音 信息查看工具 综合信息查看:MediaInfo 二进制信息查看:UltraEdit 单项详细信息分析 封装格式:Elecard Format Analyzer 视频编码数据:Elecard…
本随笔原文出自:一叶知秋0830链接:https://www.jianshu.com/p/ab469a2ffd28 1.下载FFmpeg 先进入要存放下载文件的目录,比如要放在/Users/qinjian/Downloads/ffm目录,先执行命令 cd /Users/qinjian/Downloads/ffm 再执行下载的命令: git clone https://git.ffmpeg.org/ffmpeg.git 2.编译FFmpeg 先执行下面命令进入ffmpeg目录: cd /Users…
1. 获取 dshow设备列表 ffmpeg -list_devices true -f dshow -i dummy 2. 通过UDP流推ts文件: ffmpeg.exe -re -i zhen.ts -vcodec copy -acodec copy -f mpegts udp://192.168.218.131:1935 3. ffplay播放UDP流 ffplay.exe udp://192.168.50.156:1234…
笔者才开始学习音视频开发,FFmpeg学习笔记系列主要是从慕课网李超老师的FFmpeg音视频核心技术精讲与实战课程学习的心得体会. FFmpeg音视频核心技术精讲与实战:https://coding.imooc.com/class/279.html 便于对FFmpeg记忆简单的将FFmpeg命令分为八大类 (1)基本信息查询命令            (2)录制命令 (3)分解/复用命令                   (4)处理原始数据命令 (5)裁剪与合并命令              …
ffmpeg安装笔记 ======================== 一.安装依赖 yum -y install yum-utils yum-config-manager --add-repo http://www.nasm.us/nasm.repo yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel m…
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062本文章博客地址:https://blog.csdn.net/qq21497936/article/details/108489004 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术.树莓派.三维.OpenCV.OpenGL.ffmpeg.OS…
前言   移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持.   Ffmpeg的移植   Ffmpeg的移植请参考之前的文章:<FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台>  (PS:ffmpeg解码h264是不需要依赖libx264的,但是编码是需要依赖libx264的,在海思上使用了mpp的venc,所以无需libx264)   OpenCV下载   下载地址:https://github.com/op…
前言   上一篇已经将himpp套入qt的基础上进行开发.那么qt中拿到frame则是很关键的交互,这是qt与海思可能编解码交叉开发的关键步骤.   受限制   因为直接配置sample的vi比较麻烦,确实是困难的,其实就是配置驱动,所以我们只能从开发板的demo入手,去在相等条件下探测可能的留,从vpss中拿取后,进行软编码.  当然,如果不用qt还有一种方式,也就是大量开发海思人员使用的方式,是基于sample写一个编码程序,然后使用本地socket交互,其实绝大部分海思开发者都是这样开发的…
视频叠加--画中画效果 overlay video filter 视频叠加比较常见的应用场景是台标的叠加,在画面左上角.右上角.左下角或右下角叠加台标. ffmpeg提供的overlay filter支持视频叠加.基本语法如下: overlay[=x:y[[:rgb={0,1}]]] 其中x.y是嵌入图像的位置,默认为0:rgb表示输入源的格式,0表示不修改,1表示设置输入源格式为RGB.可使用下面四个参数: main_w或W.main_h或H,主输入(被嵌入的视频)的宽度和高度 overlay…
帧率 fps的概念 帧率,单位FPS(frame per second), 用于衡量视频每秒的处理帧数,对于编码器而言说明编码器在1s的编码的速度,通常可以使用一帧的编码时间倒数简单计算:对于解码器而言,帧率表示1秒内解码帧数. 电视节目中比较常用的帧率制式有NTSC.PAL.另外,帧率可能会因为视频是否是交织(interlaved,i)或逐行(progressive,p)的,描述上有所不同.对于交织的视频,一帧数据包含两场:顶场和底场. NTSC标准使用60i fps,意思是每秒60场,亦即3…
v  容器(Container) v  容器就是一种文件(封装)格式,比如flv.mkv.ts.mp4.rmvb.avi等.包含下面5种流以及文件头信息. v  流(Stream) v  是一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据. v  帧(Frame)  代表一幅静止的图像,分为I帧,P帧,B帧. v  编解码器(Codec) v  是对视频进行压缩或者解压缩,CODEC =CODE(编码) +DECODE(解码) v  复用/解复用(mux/demux) v  把不…
FFmpeg是目前最牛逼的开源跨平台音视频处理工具. 准备知识 我不是音视频编解码出身的,对于这一块非常的不了解,导致在学习FFmpeg的时候云里雾里的,所以学习之前最好看些资料对音视频编解码有点认识. [总结]FFMPEG视音频编解码零基础学习方法 - CSDN博客 [总结]视音频编解码技术零基础学习方法 - CSDN博客 视频格式那么多,MP4/RMVB/MKV/AVI 等,这些视频格式与编码压缩标准 mpeg4,H.264.H.265 等有什么关系? - 知乎 各种音视频编解码学习详解 -…
在看ffmpeg命令的时候经常会看到有些地方使用--vcodec指定视频解码器,而有些地方使用-c:v指定视频解码器,那这两个有没有区别呢? ffmpeg的官方文档: -vcodec codec (output) Set the video codec. This is an alias for -codec:v. 也就是说-vcodec和-codec:v等价.但是并没有说和-c:v等价啊.看一下-codec:v的文档: -c[:stream_specifier] codec (input/ou…
2019年3月开始,为了将音视频编解码功能集成到Cocos2d-x中,开始接触到FFmpeg: 当时开发环境还在Mac下,编译FFmpeg相比现在用Windows平台要方便的多: 最近,公司内部有个Unity项目中的功能需要用到音视频编解码功能: 新项目目标是移动平台,需要跨平台支持:选定FFmpeg作为音视频编解码库+自行封装C++ Api方便C#层调用. 新项目的开发平台是Windows:所以首先需要的就是编译Windows版本的FFmpeg动态库: 2019年接触FFmpeg时,源码编译的…