FFMpeg音视频操作命令

如果没有安装ffmpeg,请参考:Mac 配置FFmpeg环境

FFmpeg官网:FFmpeg

GitHub FFmpeg-Android-Java:FFmpeg-Android-Java


命令参数

可以通过命令帮助查看:

ffmpeg -h

全局选项:

  • -y:覆盖输出文件
  • -n:永远不会覆盖输出文件
  • -ignore_unknown:忽略未知的流类型
  • stats:编码期间打印进度报告
  • -vol volume:改变音量(256 =正常)

每个文件的主要选项:

  • -f fmt:强制格式,设置输出格式
  • -c codec 或者 -codec codec :编解码器名称
  • -pre preset :预设名称
  • -map_metadata outfile[,metadata]:infile[,metadata]:从infile设置outfile的元数据信息
  • -t duration :记录或转码音频/视频的“持续时间”秒
  • -to time_stop:记录或转码停止时间
  • -fs limit_size:设置限制文件大小,以字节为单位,超过指定的文件大小时则结束转换
  • -ss time_off:设置开始时间偏移量,从指定时间开始转换
  • -sseof time_off:设置相对于EOF的开始时间偏移
  • -seek_timestamp:使用-ss通过时间戳启用/禁用搜索
  • -timestamp time:设置录制时间戳(‘now’设置当前时间)
  • -metadata string=string:添加元数据
  • -program title=string:st=number…:使用指定的流添加程序
  • -target type :指定目标文件类型(“vcd”,“svcd”,“dvd”,“dv”或“dv50”,带有可选前缀“pal-”,“ntsc-”或“film-”)
  • -apad:audio pad
  • -frames number:设置要输出的帧数
  • -filter filter_graph:设置流过滤器图
  • -filter_script filename:从文件中读取流过滤器图形描述
  • -reinit_filter:在输入参数更改时重新启动filtergraph
  • -discard:丢弃
  • -disposition :规定
  • -i:设置输入文件名
  • -title:设置标题
  • -vsync:增减Frame使影音同步

视频选项:

  • -vframes number:设置要输出的视频帧数
  • -r rate:设置帧速率(Hz值,分数或缩写)
  • -s size :设置帧大小(W x H或缩写)
  • -aspect aspect:设置纵横比(4:3,16:9或1.3333,1.77777)
  • -bits_per_raw_sample number:设置每个原始样本的位数
  • -vn:禁用视频
  • -vcodec codec:强制视频编解码器(‘复制’复制流)
  • -timecode hh:mm:ss[:;.]ff:设置初始TimeCode值
  • -pass n :选择密码(1到3)
  • -vf filter_graph:设置视频过滤器
  • -ab bitrate:音频比特率(请使用-b:a)
  • -b bitrate:视频比特率(请使用-b:v)
  • -dn:禁用数据

声音选项:

  • -aframes number:设置要输出的音频帧数
  • -aq quality :设置音频质量(特定于编解码器)
  • -ar rate:设置音频采样率(Hz)
  • -ac channels :设置音频通道数
  • -an:禁用音频
  • -acodec codec:强制音频编解码器(‘复制’到复制流)
  • -vol volume :改变音量(256 =正常)
  • -af filter_graph:设置音频过滤器

字幕选项:

  • -s size:设置帧大小(W x H或缩写)
  • -sn:禁用字幕
  • -scodec codec :强制字幕编解码器(‘复制’复制流)
  • -stag fourcc/tag:强制字幕标签/ fourcc
  • -fix_sub_duration:修复字幕持续时间
  • -canvas_size size:设置画布大小(W x H或缩写)
  • -spre preset:将字幕选项设置为指定的预设

操作视频

视频裁剪:

ffmpeg -i src.mp4  -ss 00:00:00 -t 00:00:20 des.mp4
裁剪前20秒

视频去掉声音:

ffmpeg -i src.mp4 -c:v copy -an des.mp4

音视频文件合成操作:

ffmpeg -i  src.mp3  -i src.mp4  des.mp4

视频转gif:

ffmpeg -i src.mp4 des.gif

视频转高质量gif:

ffmpeg -i src.mp4 -b 2048k des.gif

操作音频

音频裁剪:

ffmpeg -i src.mp3  -ss 00:00:00 -t 00:00:20 des.mp3
裁剪前20秒

原文地址:https://www.cnblogs.com/ai2050/p/10733298.html

时间: 2024-11-05 18:57:19

FFMpeg音视频操作命令的相关文章

FFmpeg音视频核心技术精讲与实战

第1章 课程导学与准备工作全民娱乐时代,需要音视频等多媒体产品层出不穷,但会处理音视频数据的工程师却极度匮乏,进入音视频开发领域正当时,这门课程就是为这样的你而生.来吧!加入我们,成就更好的自己.1-1 课前必读(不看会错过一个亿)1-2 课程导学1-3 音视频的应用范围与播放器架构讲解(选看)1-4 什么是ffmpeg?它能做什么?(选看)1-5 ffmpeg下载,编译与安装1-6 Windows下安装 FFmpeg1-7 ffmpeg命令大全文档 第2章 FFmpeg常用命令实战本章讲解如何

FFmpeg音视频编解码实践总结

PS:由于目前开发RTSP服务器 传输模块时用到了h264文件,所以攻了一段时间去实现h264的视频编解码,借用FFmpeg SDK实现了任意文件格式之间的转换,并实现了流媒体实时播放,目前音视频同步需要稍加完善,视频编码代码已成功移植到Visual Stdio平台,如有需要的留下邮箱 以下文档来自FFmpeg工程组(http://www.ffmpeg.com.cn/index.php开发事例) 实现转码一个普通视频文件为视频mpeg4,音频mp3的功能的程序 本程序源引自FFmpeg工程组,实

转载:ffmpeg 音视频合成分割

http://blog.csdn.net/jixiuffff/article/details/5709976 当然先安装了 gentoo 下一条命令搞定 emerge  ffmpeg 格式转换 (将file.avi 转换成output.flv) ffmpeg -i  file.avi   output.flv -i 表示输入文件 :现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi 两个命令                     ( video2.av

android音视频点/直播模块开发

前言 随着音视频领域的火热,在很多领域(教育,游戏,娱乐,体育,跑步,餐饮,音乐等)尝试做音视频直播/点播功能,那么作为开发一个小白,如何快速学习音视频基础知识,了解音视频编解码的传输协议,编解码方式,以及如何技术选型,如何解决遇到的坑,本文抛砖引玉,欢迎大咖交流. 一. 音视频的基础知识 1.1 基本概念 视频是什么 静止的画面叫图像(picture).连续的图像变化每秒超过24帧(frame)画面以上时,根椐视觉暂留原理, 人眼无法辨别每付单独的静态画面,看上去是平滑连续的视觉效果.这样的连

Android音视频点/直播模块开发实践总结-zz

随着音视频领域的火热,在很多领域(教育,游戏,娱乐,体育,跑步,餐饮,音乐等)尝试做音视频直播/点播功能.那么作为开发一个小白,如何快速学习音视频基础知识,了解音视频编解码的传输协议,编解码方式,以及如何技术选型,如何解决遇到的坑. 一. 音视频的基础知识 1.1 基本概念 视频是什么 静止的画面叫图像(picture).连续的图像变化每秒超过24帧(frame)画面以上时,根椐视觉暂留原理,人眼无法辨别每付单独的静态画面,看上去是平滑连续的视觉效果.这样的连续画面叫视频.当连续图像变化每秒低于

采用ffmpeg和ffserver实现音视频直播和点播

一.嵌入式开发板采集音视频(远程) 音频采集程序:./audioc -i 222.222.222.222 -p 8888; 视频采集程序:./videoc -i 222.222.222.222 -p 9999; 音频采集程序利用alsa库,采集原始音频帧,发送至服务器进程(222.222.222.222,  8888); 视频采集程序利用v4l2库,采集原始视频帧,h.264硬编码后,发送至服务器进程(222.222.222.222, 9999); 二.Linux服务器接收音视频 音频接收程序:

利用FFMPEG简单分离音视频数据流

上一篇文章我们搭好了环境并编译出所需的ffmpeg库,本篇我们讨论如何利用ffmpeg提供的API函数进行多媒体文件的解封装(demux)过程.在讲解之前,我们需要了解一些基本的多媒体文件知识,大虾请飘过. 容器格式:不管是音频文件还是视频格式的文件,都是一个多媒体的容器,即container,比如常见的视频容器格式有avi.mp4.mkv.flv.rm/rmvb.mov.ts.vob.dat,音频容器格式有MP3.WAV.AAC.APE,FLAC等等,它容纳了视频.音频.字幕(subtitle

使用FFmpeg进行音视频编解码

FFmpeg下载地址:http://ffmpeg.org/ 跳转后进入http://ffmpeg.zeranoe.com/builds/,下载Static版本 解压缩后如下图 说明:ffmpeg是下载后的文件包 3.MP4是待转换的MP4文件 打开命令行工工具 输入一下命令 :{classpath}\ffmpeg\bin\ffmpeg.exe -i {classpath}\3.mp4 -acodec libvorbis {classpath}\3.ogg classpath:为路径地址 以上为例

Android IOS WebRTC 音视频开发总结(四九)-- ffmpeg介绍

本文主要介绍ffmpeg,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,个人微信公众号blacker,更多详见www.rtc.help 说明: ps1:如果直接从webrtc开始学习音视频,你可能没听过ffmpeg,也不需要用到,但随着个人能力提升,你会发现这套东西确实很有用. 就我目前接触到的音视频企业,还没有碰到过没用过ffmpeg的(视频厂商都会对用户上传的视频文件做转码,因为他们的客户端在播放的时候需要根据不同客户端的网络带宽适配不同分辨率,或做些自定义开发),由此可