音视频基本概念和FFmpeg的简单入门
写在前面 最近正好有音视频编辑的需求,虽然之前粗略的了解过FFmpeg不过肯定是不够用的,借此重新学习下; 基本概念 容器/文件(Conainer/File): 即特定格式的多媒体文件,一般来说一个视频文件是由视频,音频,字幕等按特地的格式/规则组合到一起的,常见如: mp4 flv mkv avi ... »
写在前面 最近正好有音视频编辑的需求,虽然之前粗略的了解过FFmpeg不过肯定是不够用的,借此重新学习下; 基本概念 容器/文件(Conainer/File): 即特定格式的多媒体文件,一般来说一个视频文件是由视频,音频,字幕等按特地的格式/规则组合到一起的,常见如: mp4 flv mkv avi ... »
严禁垃圾中文技术网站复制粘贴 流程:安装SRS服务接收ffmpeg的推流,SRS会提供一个flv的播放地址,前端通过fls.js播放即可,无需flash。 1.安装ffmpeg 提供两个版本,都能推流 ffmpeg-5.0.tar.gz https://foxbaby.lanzouu.com/ixj ... »
前言 移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持。 Ffmpeg的移植 Ffmpeg的移植请参考之前的文章:《FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台》 (PS:ffmpeg解码h264是不需要依赖lib ... »
FFmpeg 是一套在命令行界面运行的跨平台媒体处理工具,属于自由软件,常用来对视频音频和图片等媒体文件进行格式转换、分割和合并等,也可录屏录音。 »
rodert教你学FFmpeg实战这一篇就够了 建议收藏,以备查阅 pdf阅读版: 链接:https://pan.baidu.com/s/11kIaq5V6A_pFX3yVoTUvzA 提取码:java @ 前言 todo 有人问rodert哥这篇文章干货有多干,问就是,硌牙。 ffmpeg有多强大 ... »
如何基于FFMPEG和SDL写一个少于1000行代码的视频播放器http://blog.sina.com.cn/s/blog_51396f890100nd91.htmlhttp://lanhy2000 »
如果这些都明白了,并且有编程基础,你就可以去参与ffmpeg开发了.其实这些堆积起来的命令95%一般是用不上的.这里介绍一些简单的常见的命令:-fromats 显示可用的格式-f fmt 强迫采用格式 »
前言 上一篇交叉编译了ffmpeg的海思版本,使用交叉编译的qt的ffmpeg播放器在海思上播放,本片是将ffmpeg的环境添加进海思的sample环境中。 在海思sample中引入ffmpeg库 步骤一:查看之前交叉编译的安装文件 步骤二:打开编译的参数文件,添加头文件和库文件 ##### add ... »
ffmpeg实现视频转码命令行,result需要提前建好作为保存转码后的视频路径: 当有大量视频需要转码时,可以使用如下命令行工具批量处理: 也可以写一个脚本放到待转码视频的目录中,脚本代码如下,变量 »
因为 ffmpeg 是支持切分 mp4 视频的,所以我就理所当然的以为 ffmpeg 是支持视频合并。直到今天同事找我问方法,才发现一直以为的方法是错误的, mp4 不支持直接 concate(丢人了 »
故事的背景是这样的: 我录制了16个视频,名称分别为1.mp4、2.mp4、……\\16.mp4。 然而当我想合并视频的时候,下载了一大堆网上的能够合并视频的软件,结果不是不好用就是要收费…… 然后我就 »
a) 通用选项-L license-h 帮助-fromats 显示可用的格式,编解码的,协议的...-f fmt 强迫采用格式fmt-I filename 输入文件-y 覆盖输出文件-t durati »
docker中使用ffmpeg将m3u8转为mp4 通过在 docker 中创建容器运行 jrottenberg/ffmpeg 镜像,下载 m3u8 视频并转码保存为 mp4 视频文件。 可以将下面的 »
今天偶然帮朋友压缩一个mav格式的音频。开始用压缩码率的方式,mav格式的音频体积一点都没变,查资料需要压缩音频文件的采样率和声道才能压缩mav格式的音频。 压缩要求是:将一个mav格式的音频文件,由 »
FFmpeg合并ts文件为mp4文件 »
ffmpeg内存播放解码 目录(?)[+] ===================================================== 最简单的基于FFmpeg的内存读写的例子系列文章列表: 最简单的基于FFmpeg的内存读写的例子:内存播放器 最简单的基于FFmpeg的内存读写的例子:内存转码器 ====================================== »
ffmpeg开发cpp项目运行出现ld: symbol(s) not found for architecture的解决方法 出现这个问题的原因是连接出错了,找不到对应反符号 解决方法: ffmpeg头文件引入的时候需要添加 extern "C" { } 因为ffmpeg是c语言实现的,cpp项目里引用ffmpeg要添加extern "C"。干嘛要添加自行搜索,和编译时符号有关。 »
接着上回说,http://www.cnblogs.com/zjjcy/p/3384517.html 上回移植了ffmpeg在ARM上面,只是纯C的代码,没有做汇编的优化。因为ffmpeg的ARM汇编是GNU风格的,微软自带的汇编编译器armasm不支持这样风格的汇编语法。 于是就想到两个解决方案,一种是改写GNU风格的汇编到标准的ARM汇编格式,二是用GCC工具编译,然后再转换编译后的文件,由el »
本文的主要目的是梳理,记录自己在学习开发ffmpeg视频滤镜的笔记。参考的主要内容是根据ffmpeg中doc下的writing_filter.txt文件以及ffmpeg的源码。 1. Contex 定义自己私有的上下文结构 跳过头文件往下走,我们一般在滤镜的文件中会首先给出和定义一个自己的私有上下文结构体对象,例如FoobarContext。这个结构体对象他是我们存储我们后续所需要的所有全部内容, »
一、介绍 在ffmpeg中,每帧都会存在一个pts用来表示该帧图像在视频流中的位置。而在多路流(比如视频、音频)时,往往需要进行多媒体的同步,使得画面和声音同步,这时便需要使用两者的pts来做同步。那么pts是如何计算得到的呢,如何使用它做同步呢? 1.1 时间基转换 ffmpeg中时间存在一个基,可以理解成单位,比如把1s分成1000000等份,每个等份就是1us,那么1s就可以表示成10 »