ffmpeg
eydwyz
AA123456123456
展开
-
ffmpeg 常用命令
./ffmpeg.exe -i video_SN00076_00002.mp4.repaired.h265 -codec copy -f mp4 video_SN00076_00002.mp4./ffmpeg.exe -i video_SN00001_00002.mp4.repaired.h265 -codec copy -f mp4 video_SN00001_00002.mp4.repaired.mp4.\ffplay.exe -f rawvideo -video_size 640x368..原创 2020-10-26 19:18:49 · 349 阅读 · 0 评论 -
使用FFmpeg生成YUV视频文件并播放(通过命令的方式)
一、YUV的定义YUV是一种颜色编码方法。它跟我们常见的RGB格式区分开来,常使用在各个视频处理组件中。其中"Y"代表明亮度,"U"和"V"代表其色度。视频播放器把市面上流行的MP4等格式文件的视频部分解码出来,得到的一般会是YUV格式的数据,然后得进行转码(比如通过opengl的shader或者ffmpeg),把YUV格式的数据转成RGB格式的数据,然后才能在显示屏播放显示。 YUV与RGB相比,优点是:1、亮度参量和色度参量分开表示,不但可以避免相互干扰,还可以降低色度的采样率而不会对图像...转载 2020-10-13 16:50:25 · 10408 阅读 · 0 评论 -
解决调用ffmpeg.exe时出现的CMD窗口显示问题
解决调用ffmpeg.exe时出现的CMD窗口显示问题在做音频截取时,调用了第三方软件ffmpeg.exe, 将生成的dll发给UI组时出现一个严重的问题,一旦使用ffmpeg.exe,就会出现cmd窗口,导致UI组的界面线程无法使用,最终会出现crash情况。因此需要解决这个问题。在谷歌上找到一个方法。https://superuser.com/questions/555289/is-th...转载 2019-11-01 17:50:58 · 2405 阅读 · 2 评论 -
Android平台上使用SDL官方demo播放视频(使用ffmpeg最新版解码)
目录(?)[-]SDL结构框图下载SDL源码合并ffmpeg和SDL源码调用c函数的流程编写C源文件实现编写Androidmk文件配置buildgradle实现播放原:http://blog.csdn.net/danjuan123/article/details/65444098SDL(Simple Directmedia Layer)是一套开源的跨平台多媒体开转载 2017-12-07 15:42:49 · 823 阅读 · 0 评论 -
编译Android下可执行命令的FFmpeg
请尊重原创,转载请注明出处:http://blog.csdn.net/mabeijianxi/article/details/72904694http://blog.csdn.net/mabeijianxi/article/details/74544879 编译Android下可用的全平台FFmpeg(包含libx264与libfdk-aac)转载 2017-12-07 15:31:22 · 224 阅读 · 0 评论 -
Android Studio通过cmake创建FFmpeg项目
在上一篇博客《FFmpeg(3.3.2)移植Android平台》 中介绍了FFmpeg移植到Android平台上来,通过博客我们最终得到了Android开发FFmpeg所需要的动态库(.so)和库文件(.h),博客结尾也上传了一个Android集成FFmpeg的demo,但是此demo是在eclipse下开发的,因为现在Android开发都是用的Android Studio了,所以就来讲讲在A转载 2017-12-09 09:46:38 · 1924 阅读 · 2 评论 -
FFmpeg解码库裁剪和调试三--Android Studio调试FFmpeg
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源项目。FFmpeg是在Linux平台下开发,而Android是现在非常火爆的移动平台,由于Android平台与Linux的亲缘关系,所以将FFmpeg源代码移植到Android平台比前面讲述过的VS平台调试方法相比自然是简单许多。 本章主要介绍提取FFmpeg中的H264代码并在Android Studi转载 2017-12-09 09:43:22 · 649 阅读 · 0 评论 -
windows下编译最新版ffmpeg3.3-android,并通过CMake方式移植到Android studio2.3中
windows下编译最新版ffmpeg3.3win下编译: 1.下载安装MinGW:http://sourceforge.net/projects/mingw/files/ 2.下载yasm http://yasm.tortall.net/Download.html 3.下载 ffmpeg:https://www.ffmpeg.org/download.html编辑ff转载 2017-12-09 09:26:50 · 297 阅读 · 0 评论 -
Android开发学习之路--Android Studio cmake编译ffmpeg
最新的android studio2.2引入了cmake可以很好地实现ndk的编写。这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路–NDK、JNI之初体验。1.ffmpeg编译 进入正题,既然是ffmpeg的移植编译,那么就先下载ffmpeg,https://ffmpeg.org/download.html#rele转载 2017-12-09 09:25:24 · 264 阅读 · 0 评论 -
FFmpeg关于nb_smples,frame_size以及profile的解释
FFmpeg关于nb_smples,frame_size以及profile的解释/*音频帧率计算方法(为防止以后忘了)采样率 sampling = 44100 格式(编码字节数、采样一位所占的字节数) format = s16(格式)=16(bit)声道数 channels = 2一次采转载 2017-12-08 09:38:29 · 4036 阅读 · 0 评论 -
ffmpeg解码音频数据时,进行重采样(即改变文件原有的采样率)
我们使用ffmpeg解码音频的时候,往往需要改变原音频的采样率,即需要重采样。比如一音乐文件的采样率22050,而播放端往往是固定的采样率,比如44100。在这种情况下,如果把解码出来的数据直接播放,会产生快进的效果。这个时候就需要对解码出来的数据作一次重采样,将数据转化为44100采样率下的数据,才能正确播放。ffmpeg提供了一组用来重采样的API,主要如下:/** *转载 2017-12-08 09:43:30 · 6312 阅读 · 0 评论 -
ffmpeg音频处理——pcm格式与resample(重采样)
1 基本概念1:获取pcm音频帧声道数AVCodecContext->channelsavframe->channelsprintf("av_frame_get_channels = %d\n",av_frame_get_channels(frame));1.1 声道与布局具有映射关系audio channels and channel_layo转载 2017-12-08 09:44:38 · 1016 阅读 · 0 评论 -
视音频pts计算
1、概述这段时间做转码,计算pts的时候都是转换一下时间基,我就在想这个pts如果没有原来的pts做参考如何计算其值?摸索一番总算明白了头绪记录于此。2、视频pts视频比较好理解,就是每帧递增,假如fps是25帧的,时间基为fps的倒数1/25,那么pts递增即可。如下:第一帧:pts=0第二帧:pts=1第三帧:pts=3.转载 2017-12-08 10:19:49 · 1087 阅读 · 0 评论 -
Android音视频开发进阶
原文链接:http://www.jianshu.com/u/a32db45d4859Android视频开发进阶(part1-关于视频的那些术语) http://www.jianshu.com/p/10e357946447Android视频开发进阶(part2-MP4文件的解析) http://www.jianshu.com/p/2b85c转载 2018-01-20 09:47:20 · 3312 阅读 · 0 评论 -
ffmpeg编译
编译一个lib,网上的由.a文件合成libffmpeg时脚本很多都是有各种错误,下面是亲自测试//下面是window平台编译,环境搭建 https://blog.csdn.net/eydwyz/article/details/78192392// linux平台修改相应的变量即可// 解压ffmpeg-3.3.4,由于不生成各模块的so,故无需更改configure, //执行 ....原创 2018-08-14 15:53:27 · 893 阅读 · 0 评论 -
ffmpeg关于timebase的理解
ffmpeg关于timebase的理解https://www.jianshu.com/p/5634712cfe1bint64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd)直接看代码, 它的作用是计算 "a * b / c" 的值并分五种方式来取整.但是在FFmpeg中,则是将以...转载 2019-08-26 19:26:06 · 916 阅读 · 0 评论 -
I,P,B帧和PTS,DTS的关系
http://blog.csdn.net/dssxk/article/details/8269354http://blog.csdn.net/sidumqz/article/details/53063854http://www.cnblogs.com/my_life/articles/6742683.html音视频编码卡的视频编码算法从JPEG发展到MPEG-1、MPEG-2、...转载 2019-08-26 20:11:36 · 1264 阅读 · 0 评论 -
视频编码部分定义
GOPQPBit Rate(码率)PSNRDefinitions:Ø GOP(Group of Pictures)策略影响编码质量:所谓GOP,意思是画面组,一个GOP就是一组连续的画面。MPEG编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化。转载 2017-11-30 17:48:11 · 261 阅读 · 0 评论 -
ffmpeg AVFilter介绍
一. ffmpeg AVFilter介绍利用ffmpeg做图像的pixel format转换你还在用libswscale吗?嘿嘿,过时啦!ffmpeg中有了新东西:libavfilter.使用它,可以完全代替libswscale,并且可以自动完成一些复杂的转换操作呢.libavfilter啊,用了都说好!但就是太复杂...如果你仅仅是做图像的pixel format处理,用lib转载 2017-11-30 14:01:41 · 973 阅读 · 0 评论 -
Android版 RTSP客户端
这里主要会不断更新,我写的项目的源代码的下载地址。所谓更新就是会不断添加新的项目代码下载链接。虽然会要一点分数,但是这也是我的劳动成果嘛。我要去去下载别人的资料呀,虽然要分可耻,但是希望各位谅解。哈哈 Qt版的Rtsp客户端 : http://download.csdn.net/detail/nieyongs/6989317 V4L2+swscale+X264+live转载 2017-09-26 14:27:10 · 3189 阅读 · 0 评论 -
Qt版的Rtsp客户端
其实这个实现还是很简单的。主要是要在编译ffmpeg的时候,开启rtsp,network,这样我们就可以直接利用avformat_open_input函数接受rtsp协议了。ffmpeg代码的编写的流程和输入文件是一样的。所以说整个实现过程还是比较简单的。同样,我这里会给出我在开发这个客户端的所有的参考资料。对于别人详细介绍的知识我就不会在赘述了。 随便提一下,我一开始使用live55转载 2017-09-26 14:28:19 · 792 阅读 · 0 评论 -
使用live555实时播放rtsp
Android原生的MediaPlayer虽然也可以播放rtsp流媒体,可是却有几秒的延时,不符合实时的要求。于是需要使用第三方库live555来解决这个问题。 1、搭建live555框架 我们先下载源码,然后在eclipse里创建一个新的library工程,在工程jni下创建一个live目录,然后将源码拷贝过来。之后在jni下新建一个Android.mk和Applic转载 2017-09-26 14:35:13 · 2338 阅读 · 0 评论 -
Windows下用ndk编译ffmpeg
Windows下用ndk编译ffmpeg 第一步:创建一个android工程,然后将ffmpeg整体放到jni下,并创建Android.mk和Application.mk Android.mk:{LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)#include $(all-subdir-makefiles转载 2017-09-26 14:36:13 · 1089 阅读 · 1 评论 -
ffmpeg不同版本的NDK编译
0. 版本确定:最近需要以NativeC方式编译OpenCV2.0. 其中用到ffmpeg. (OpenCV 目录树下,有interfaces/ffopencv). 但ffmpeg版本一直在升级,在不同的版本中,接口也有所变化,如何判断OpenCV2.0使用的哪个版本的ffmpeg是个关键。首先观察interfaces/ffopencv/ffopencv.cpp. 其转载 2017-09-26 14:38:29 · 1578 阅读 · 0 评论 -
Android NDK 编译FFmpeg(不需要复杂的环境变量设置)
环境:CentOS6.2——64位借鉴:https://vec.io/posts/how-to-build-ffmpeg-with-android-ndk在根目录下创建work文件夹:cd / && mkdir worka) 先把要用到的安装包下载到本地: FFmpeg:git clone git://source.ffmpeg.org/ffmpeg.git ffmp转载 2017-09-26 14:40:43 · 277 阅读 · 0 评论 -
windows10下编译ffmpeg for android----编译成功
最近实现了一款基于FFMpeg的支持多路视频的实时流媒体播放器:https://github.com/huweijian5/RtspPlayer 有兴趣可以关注下。本文记录在windows10下编译ffmpeg的过程:环境:win10 ffmpeg-3.3 ndk-r14b注意:一般来说低版本ndk编译的能在高版本使用,但高版本ndk编译的无法在低版本使用,因为NDK转载 2017-10-10 14:34:36 · 3735 阅读 · 1 评论 -
基于libRTMP的流媒体直播之 AAC、H264 推送
这段时间在捣腾基于 RTMP 协议的流媒体直播框架,其间参考了众多博主的文章,剩下一些细节问题自行琢磨也算摸索出个门道,现将自己认为比较恼人的 AAC 音频帧的推送和解析、H264 码流的推送和解析以及网上没说清楚的地方分享给各位。 RTMP 协议栈的实现,Bill 直接使用的 libRTMP,关于 libRTMP 的编译、基本使用方法,以及简单的流媒体直播框架,请参见博文[转载 2017-11-07 10:34:03 · 595 阅读 · 0 评论 -
MPEG-4、MPEG-4/AVC、H.264之间的联系与区别
当你在网上下载视频时,经常会看到MPEG-4、h.264等等词汇,它们之间有什么关系吗? 在视频编解码技术定义方面有两大标准机构。一个是国际电信联盟 (ITU) 致力于电信应用,已经开发了用于低比特率视频电话的 H.26x 标准,其中包括 H.261、H.262、H.263 与 H.264;另一个是国际标准化组织 (ISO) 主要针对消费类应用,已经针对运动图像压缩定义了 MPEG转载 2017-11-10 11:00:17 · 22686 阅读 · 1 评论 -
ijkplayer阅读学习笔记之从代码上看播放流程
看了很久的ijkplayer的视频播放,其实还是没有怎么看懂,只是个人浅浅的笔记关键部分就是联网获取数据那部分,还没有搞定其实从用户点击一个已有地址的网络视频开始,从源码分析播放流程。1. // init player 加载native底层库 IjkMediaPlayer.loadLibrariesOnce(null);转载 2017-11-17 18:28:37 · 709 阅读 · 0 评论 -
ijkplayer视频播放器源码分析(android)
近年来,直播这么火,对于我们android程序员来说,手上掌握几个开源的播放器很有必要:一是方便在别人开源的项目上面更改;二来了解别人的思路可以帮助我们自己以后开发类似的项目。所以这次我带来的是bilibili的开源项目ijkplayer。这次由于ijkplayer深入到了jni层,所以阅读源码的工具我选择了SourceInsight 3.5,这是一个很好的源码阅读工具,因为它对源码的转载 2017-11-17 18:46:30 · 846 阅读 · 0 评论 -
ffplay音视频同步分析(一)
先给出与同步有关的Clock的结构体,为了简化分析,我把Clock的一些字段删掉了,如有有兴趣可查看源码:typedef struct Clock { double pts; /* clock base */ double pts_drift; /* clock base minus time at which we updated the cloc转载 2017-11-18 09:10:51 · 1496 阅读 · 0 评论 -
windows下编译最新版ffmpeg3.3-android,并通过CMake方式移植到Android studio2.3中
windows下编译最新版ffmpeg3.3win下编译: 1.下载安装MinGW:http://sourceforge.net/projects/mingw/files/ 2.下载yasm http://yasm.tortall.net/Download.html 3.下载 ffmpeg:https://www.ffmpeg.org/download.html编辑ff转载 2017-11-20 08:51:53 · 415 阅读 · 0 评论 -
实例讲解RTMPDUMP的使用
译文地址:http://blog.csdn.net/fallenink/article/details/8128095 原文地址:http://pclosmag.com/html/Issues/201104/page19.html强烈建议习惯英文者,ctrl+按住上面链接,跳转。RTMP Specification: http://www.adobe.c转载 2017-11-06 08:53:53 · 8634 阅读 · 0 评论 -
V4L2 Video overlay, Video output, Video output overlay的区别
三者都是V4L2定义的接口,英文原文参见 http://v4l2spec.bytesex.org/spec-single/v4l2.html#OVERLAYVideo Overlay: Video overlay devices have the ability to genlock (TV-)video into the (VGA-)video signal of a gra转载 2017-11-15 19:58:16 · 1342 阅读 · 0 评论 -
H.264编码原理以及I帧B帧P帧
前言----------------------- H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中, 一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整 的图像转载 2017-07-26 14:00:25 · 501 阅读 · 0 评论