ffmpeg实例demo
文章平均质量分 57
Lammyzp
这个作者很懒,什么都没留下…
展开
-
ffmpeg vs2017 环境搭建
目录1、下载 ffmpeg2、创建windows项目工程3 配置工程环境4 执行 验证1、下载 ffmpeg官方网站,点击我们的系统的,我选择64位,我们一般选择大版本的,因此,这里选择的是4.0.下载dev 目录 和 shared 中对应的版本。解压 2个压缩包dev压缩包 include是开发头文件,lib是相应库shared解压,bi...原创 2019-03-15 14:34:42 · 3478 阅读 · 1 评论 -
QT 录制音频
音频的推流和封装与视频是类似的,主要在于录制和重采样部分。QT再window的安装可以参考博客: vs2017 配置QT环境主要是在创建QT项目的时候加入 multimedia库,利用这个库用来录制音频的。QAudioFormat这个类是用来设置录制音频的参数的,如下:QAudioFormat fmt; fmt.setSampleRate(sampleRate);// ...原创 2019-05-10 11:28:45 · 1921 阅读 · 2 评论 -
ffmpeg 代码实现rtmp推流到服务器
前面2篇已经讲解了如何搭建直播服务器 ffmpeg + nginx配置智播推流服务器和ffmpeg + crtmpserver实现直播推流,并且通过ffmpeg命令实现了推流,下面讲解下如何用代码实现推流,并且通过设置dts来实现推流的速度。之前也写过,将摄像头的数据保存到本地为mp4:ffmpeg 获取电脑摄像头数据,并且保存为MP4视频,这里其实差不多,只是将输出设备从本地文件mp4 改...原创 2019-04-30 17:28:52 · 13466 阅读 · 1 评论 -
ffmpeg + crtmpserver实现直播推流
搭建服务器crtmpservercrtmpserver是开源的直播服务器,地址:https://github.com/j0sh/crtmpserver环境:虚拟机+ubuntu16.04gcc5.4在虚拟机中打开终端,执行下面操作:sudo apt-get updatesudo apt-get install cmakeasudo pt-get install li...原创 2019-04-29 10:50:57 · 1318 阅读 · 1 评论 -
ffmpeg 获取电脑摄像头数据,并且保存为MP4视频
目录命令行打开摄像头1、配置环境变量2、从命令打开摄像头代码读取摄像头数据 并编码保存nodeffmpeg的强大毋庸置疑,根据网上的一些学习资料,这里给予一些讲解。命令行打开摄像头1、配置环境变量windows ffmpeg从官网下载后,shared\bin 目录下可以找到相应的ffmpeg 的一些可执行文件,将这些文件配置 环境变量path中。2、从命...原创 2019-03-18 09:44:39 · 25923 阅读 · 3 评论 -
OpenSLES android平台播放音频pcm
目录播放流程和条件Opengl SLObjectItf 对象创建的四板斧播放pcm的流程播放流程和条件android自带的openSL库,可用来解码音频,也可以来播放音频,以及录音。要在jni层调用:1、cmakeList 中target_link_libraries 内引入库:OpenSLES2、引入头文件:#include "SLES/OpenSLES....原创 2019-04-02 09:57:26 · 930 阅读 · 0 评论 -
ffmpeg android jni端调用mediaCodec实现硬解码
硬解码,用的是cpu上面固化的一段芯片,专门用来处理音视频的,硬解码不会大量占用cpu 也不会占用gpu,但解码的帧率是固化的。ffmpeg是c库,而android只在java端抛出mediaCodec 来实现硬解码,ffmepg已经为andorid设计好了调用java层函数的方法av_jni_set_java_vm,但是我们需要在jni层传入java的对象。硬解码1、在jn...原创 2019-04-01 11:27:05 · 3794 阅读 · 4 评论 -
音视频同步策略和视频seek策略
此文章讲的seek测率有一定缺陷,即用户非常快速点击seek操作,主线程会卡,下一篇ffmpeg音视频同步,seek策略总结是对这篇的改进,若想直接了解较好的策略,直接移步到我的下一篇中。音视频同步一般有三种方式,1、设置共同时间标志。这种多用于多视频播放中。2、音频同步视频,(由于人耳对音频比视频敏感,比较少用)3、视频同步音频下面就介绍一种视频同步音频的方法。视频同步音...原创 2019-04-12 12:06:39 · 1430 阅读 · 0 评论 -
ffmpeg音视频同步,seek策略总结。
上一篇音视频同步策略和视频seek策略讲过一些方法,但是总视存在一些小问题,这里花费了近三天的时间对整个 音视频同步,以及seek测率进行较大的调整,使得整个程序更健壮,用户在界面胡乱操作,seek和pause都不会引起程序卡顿和崩溃了。音视频seek策略最简单的方法,就是一个大锁,将音频解码 和 视频解码播放 各用同一个锁锁住,然后,将seek部分用同一个锁锁住,这样seek的时候清空数据就...原创 2019-04-20 11:30:45 · 2703 阅读 · 2 评论 -
FFMpeg opengl显示解码avframe
FFmpeg解码出来avframe,但显示很容易出现乱码,因为为了计算的方便,ffmpeg解码出来的数据,总视根据系统处理器或者系统来补齐为 64、32、16的倍数。这也是我们显示乱码的问题所在。问题比如我显示抖音上的视频的宽为368x640, 解码的帧率avFrame,下面是avframe的一些成员变量:avFrame->format = 0 // 表示是 yuv420p的数据...原创 2019-04-26 09:55:46 · 3387 阅读 · 3 评论 -
ffmpeg + nginx配置智播推流服务器
nginx是配置网站服务器,但是通过安装相应modue也可以实现直播推流。nginx服务器配置环境ubuntu 16.04 nginx 1.13依赖库安装sudo apt-get install gitsudo apt-get install libssl-devsudo apt-get install libpcre3 libpcre3-dev sudo apt-ge...原创 2019-04-30 10:27:52 · 2432 阅读 · 0 评论 -
SwsContext、sws_scale缩放失败,或者缩放后视频乱码
虽然 ffmpeg的缩放效率比较低,但随着电脑或者硬件设备发展,即使使用低效率的,也可以达到普通播放器的要求了。但在使用的过程中的坑还是很多的。在android手机中使用SwsContext 和sws_scale缩放后,视频总视出现乱码或者 干脆一个黑屏。void FFMVideoShow::show(AVFrame *avFrame){ if(dataManager-&...原创 2019-04-13 11:31:39 · 3330 阅读 · 0 评论