ffmpeg命令

ffmpeg 命令的使用

断了今生、忘了曾经 提交于 2019-12-30 02:52:09
当然先安装了 gentoo 下一条命令搞定 emerge ffmpeg 格式转换 (将file.avi 转换成output.flv) ffmpeg -i file.avi output.flv -i 表示输入文件 :现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi 两个命令 ( video2.avi 是中间文件 ,用完可删) ffmpeg -i video.avi -vcodec copy -an video2.avi ffmpeg -i video2.avi -i audio.mp3 -vcodec copy -acodec copy output.avi -i 表示输入文件 -vcodec copy 表示 force video codec ('copy' to copy stream) 这个不知怎么译 ,估计是直接copy -acodec copy 这个说的应该是音频了 跟上面一样 -an : 表示 disable audio 估计是audio no 之类的缩写 表示去掉video.avi 原有的音频 方法2 好像可以直接指定两个输入文件 , ffmpeg -i /tmp/a.wav -i /tmp/a.avi /tmp/a.avi 两个文件 的顺序很重 从视频里提取声音(声音与视频的分离) ffmpeg -i 人生若只如初见

FFmpeg 维基百科

社会主义新天地 提交于 2019-12-30 02:47:57
一、FFmpeg简介 FFmpeg 是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec ─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库 "FFmpeg"这个单词中的"FF"指的是"Fast Forward"。有些新手写信给"FFmpeg"的项目负责人,询问FF是不是代表“Fast Free”或者“Fast Fourier”等意思,"FFmpeg"的项目负责人回信说“Just for the record, the original meaning of "FF" in FFmpeg is "Fast Forward"...” FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最初是由Fabrice Bellard发起的,而现在是由Michael Niedermayer在进行维护。许多FFmpeg的开发者同时也是MPlayer项目的成员,FFmpeg在MPlayer项目中是被设计为服务器版本进行开发。 2011年3月13日,FFmpeg部分开发人士决定另组libav,网址http://libav.org,同时制定了一套关于项目继续发展和维护的规则。 组成组件 此计划由几个组件组成: ffmpeg 是一个命令行工具

Linux 使用ffmpeg提取MP4视频中的音频信号

做~自己de王妃 提交于 2019-12-27 02:03:14
查看参考博文 下载ffmpeg 从ffmpeg官网:http://ffmpeg.org/download.html下载最新的ffmpeg安装包,然后通过如下命令解压: 解压命令: tar -xvf file.tar //解压 tar包 tar -xzvf file.tar.gz //解压tar.gz tar -xjvf file.tar.bz2 //解压 tar.bz2 tar -xZvf file.tar.Z //解压tar.Z unrar e file.rar //解压rar unzip file.zip //解压zip 配置 cd ffmpeg解压文件路径 ./configure --enable-shared --prefix=/usr/local/ffmpeg --disable-yasm make make install 添加环境变量 export LD_LIBRARY_PATH=/home/…(your path to ffmpeg install path)/lib 查看是否可以使用 cd your/path/to/ffmpeg install/bin ./ffmpeg -version 查看版本 在python中使用 import pydub ASaudiofake=pydub.AudioSegment.from_file(fakepath,format=

利用ffmpeg替换视频的背景音乐并改变视频标题部分

戏子无情 提交于 2019-12-17 20:25:10
这两天又遇到一个朋友的问题,这里跟大家共享一下我利用ffmpeg的解决方法 将一个带音乐的视频的声音,消除其背景音乐,替换为另一个伴奏音乐 同时将将视频前部的15秒标题部分替换为一张标题图片 原料是一个长度为 3:56 的视频 girl1.mp4 与一段 4:07 的音频 girl1.mp3 以及一张标题图片 girltitle1.jpg 【】首先将视频背景声音去除,提取视频部分 ffmpeg - i girl1 . mp4 - vcodec copy - an girl2 . mp4 【】将视频截取去除前面的15秒的标题部分 ffmpeg - i girl2 . mp4 - ss 00 : 00 : 15 - t 00 : 03 : 56 - vcodec copy - acodec copy girl3 . mp4 【】将封面图片生成mp4,这个可以利用WPS或者Office完成,但我用的WPS 是免费的个人版,阉割掉了转换为mp4的功能,不过ffmpeg 可以利用多张图片生成mp4,我这里标题图片只有一张girltitle1.jpg生成15秒的title1.mp4,所以操作比较简单 ffmpeg - r : v 25 - f image2 - loop 1 - i girltitle1 . jpg - t 15 title1 . mp4 - y 【】难点是将title1

轻松构建基于 Serverless 架构的弹性高可用音视频处理系统

元气小坏坏 提交于 2019-12-17 16:21:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 前言 随着计算机技术和 Internet 的日新月异,视频点播技术因其良好的人机交互性和流媒体传输技术倍受教育、娱乐等行业青睐,而在当前, 云计算平台厂商的产品线不断成熟完善, 如果想要搭建视频点播类应用,告别刀耕火种, 直接上云会扫清硬件采购、 技术等各种障碍,以阿里云为例: 这是一个非常典型的解决方案, 对象存储 OSS 可以支持海量视频存储,采集上传的视频被转码以适配各种终端,CDN 加速终端设备播放视频的速度。此外还有一些 内容安全 审查需求, 比如鉴黄、鉴恐等。 而在视频点播解决方案中,视频转码是最消耗计算力的一个子系统,虽然您可以使用云上专门的转码服务,但在很多情况下,您会选择自己搭建转码服务。比如: 您已经在虚拟机/容器平台上基于 FFmpeg 部署了一套视频处理服务,能否在此基础上让它更弹性,更高的可用性? 您的需求只是简单的转码需求,或是一些极其轻量的需求,比如获取 OSS 上视频前几帧的 GIF、获取视频或者音频的时长,自己搭建成本更低。 各种格式的音频转换或者各种采样率自定义、音频降噪等功能 您有更高级的自定义处理需求,比如视频转码完成后, 需要记录转码详情到数据库, 或者在转码完成后, 自动将热度很高的视频预热到 CDN 上, 从而缓解源站压力。 您有并发处理大量视频的需求。

ffmpeg在不去除原声的情况下加上背景音乐

我的未来我决定 提交于 2019-12-16 08:11:48
1.无原声合并音视频 ffmpeg -i bgm.mp3 -i input.mp4 output.mp4 2.保留原声合并音视频 ffmpeg -i bgm.mp3 -i input.mp4 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 output.mp4 (注意:inputs=输入流数量, duration=决定流的结束,dropout_transition= 输入流结束时,容量重整时间, (longest最长输入时间,shortest最短,first第一个输入持续的时间)) 注意: 音频,视频输入流的命令顺序可能对视频合成有影响(猜测) (更多请查看ffmpeg官方文档) ps:我是看到这位pjqdyd 老哥的回答。 示例JAVA代码如下~ public class MergeVideoMp3 { private String ffmpegEXE; public MergeVideoMp3(String ffmpegEXE) { super(); this.ffmpegEXE = ffmpegEXE; } //ffmpeg -i bgm.mp3 -i input.mp4 -t 6 -filter_complex amix=inputs=2 output.mp4 /** * 注意:inputs

FFmpeg 的基本使用

谁说我不能喝 提交于 2019-12-13 15:39:32
1、下载:FFmpeg https://www.ffmpeg.org/download.html#build-windows 将 G:\JavaSoft\ffmpeg\bin 目录配置在path环境变量中。 检测是否安装成功:ffmpeg -version 简单的测试: 将一个.avi文件转成mp4、mp3、gif等。 比如我们将lucene.avi文件转成mp4,运行如下命令: ffmpeg -i lucene.avi lucene.mp4 转成mp3:ffmpeg -i lucene.avi lucene.mp3 转成gif:ffmpeg -i lucene.avi lucene.gif 官方文档(英文):http://ffmpeg.org/ffmpeg.html 2、生成m3u8/ts文件 使用ffmpeg生成 m3u8的步骤如下: 第一步:先将avi视频转成mp4 ffmpeg.exe ‐i lucene.avi ‐c:v libx264 ‐s 1280x720 ‐pix_fmt yuv420p ‐b:a 63k ‐b:v 753k ‐r 18 .\lucene.mp4 各参数的大概意思: -c:v 视频编码为x264 ,x264编码是H264的一种开源编码格式。 -s 设置分辨率 -pix_fmt yuv420p:设置像素采样方式,主流的采样方式有三种,YUV4:4:4

基于Ubuntu交叉编译FFmpeg Windows SDK

爱⌒轻易说出口 提交于 2019-12-06 01:50:56
基于Ubuntu交叉编译FFmpeg Windows SDK 写在前面    FFmpeg 是一个开源且跨平台的音视频解决方案,集采集、转码、流式化为一身,项目的 libavcodec 编解码模块和 libavformat 媒体格式模块,支持非常非常丰富的编解码格式和容器封装格式,是做媒体相关开发工作必须要掌握和借鉴的一个项目。定制和编译ffmpeg是做流媒体开发迟早要面对的,linux平台上相对简单,windows平台就比较麻烦了。本文的目的就是详细介绍下如何基于ubuntu交叉编译环境,编译和定制ffmpeg。 一 概述   ffmpeg主要是基于linux开发,当然它也支持windows,不过并不支持visual studio系列IDE(因为它使用了大量C99特性,而vs不支持C99),所以要想在windows上使用,必须要通过mingw或cygwin来编译,或者在linux上构建windows交叉编译环境,后者要简单些。这里有个网站 http://ffmpeg.zeranoe.com/ ,作者提供了ffmpeg已经编译好的windows版本,包括静态连接的,动态连接的,以及sdk,基本上隔几天就编译一次。大家可以先上去看一下,如果它编译的符合你的需求(上次看的时候它好像没有加入libfaac,现在不知道了),而你又懒得编译,就可以使用它的

FFmpeg 基本用法

扶醉桌前 提交于 2019-12-06 00:28:56
FFmpeg FFmpeg 基本用法 本课要解决的问题 1.FFmpeg的转码流程是什么? 2.常见的视频格式包含哪些内容吗? 3.如何把这些内容从视频文件中抽取出来? 4.如何从一种格式转换为另一种格式? 5.如何放大和缩小视频? 6.如何旋转,翻转,填充,裁剪,模糊,锐化视频? 7.如何给视频加logo,删除logo? 8.如何给视频加文本,动态文本? 9.如何处理图片? 10.如何录像,添加动态logo,截图,马赛克视频? 第一部分 基础 术语 容器(Container) 容器就是一种文件格式,比如flv,mkv等。包含下面5种流以及文件头信息。 流(Stream) 是一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据。 帧(Frame) 帧代表一幅静止的图像,分为I帧,P帧,B帧。 编解码器(Codec) 是对视频进行压缩或者解压缩,CODEC =COde (编码) +DECode(解码) 复用/解复用(mux/demux) 把不同的流按照某种容器的规则放入容器,这种行为叫做复用(mux) 把不同的流从某种容器中解析出来,这种行为叫做解复用(demux) 简介 FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序

nginx上搭建HLS流媒体服务器

房东的猫 提交于 2019-12-05 21:29:09
简介:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。 是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速 率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包 含元数据的extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。 HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防 火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。 此协议详细内容请参考apple官方网站: https://developer.apple.com/resources/http-streaming/ 有两种方式搭建HLSserver, 一种是利用apple SDK, 一种是利用adobe 的fms,4.5版本支持hls,参考, http://www.adobe.com/products/flash-media-streaming/features._sl_id-contentfilter_sl_featuredisplaytypes_sl_new