FFmpeg 命令操作音视频

Android 接入FFmpeg命令-低成本完成各类音视频操作 cmdutils.c、ffmpeg.c、ffmpeg_opt.c、ffmpeg_filter.c、ffmpeg_hw.c、ffmpeg-cmd.c都有一定的依赖关系,这几个C文件共同编译成一个库ffmpeg-cmd,ffmpeg-cmd是我的JNI层方法,负责双边沟通,fftools中依赖了其它例如解码,滤镜,重采样等外部库,也是我们之前编译了的其它库,我们需要把它们作为ffmpeg-cmd的库链接进去。这其中我们要考虑很多条件,音频信息导致的不同处理,异常的捕捉等等,麻烦不说,兼容性都有一段路走。 阅读详情

目的:FFmpeg 命令操作视频

环境:

系统:Win10
环境:ffmpeg-20180723-win64-shared

命令及参数说明

1. ffmpeg将mp4视频转换成gif格式图片

命令1:
ffmpeg -ss 2 -t 5 -i test.mp4 -s 640x480 -r 15 output.gif
说明:
-ss 2 -t 5 表示从第2秒到第5秒。
-s 640x480 设定分辨率, 乘号以小写字母x代替。
-r 15 设置帧率为15, 通常gif帧率>=15就比较流畅了。

命令2:
ffmpeg -i test.mp4 ./output.gif
说明:
转换成高质量gif。

2. ffmpeg将gif图片转换mp4视频图片

命令:
ffmpeg -f gif -i test.gif test.mp4
说明:
gif图片转为mp4视频, 同样也可以将gif转为其他视频格式, 如下命令:
ffmpeg -f gif -i test.gif test.mpeg
ffmpeg -f gif -i test.gif test.mkv

3. ffmpeg获取视频帧的图片

命令1:
ffmpeg -i test.mp4 -y -f image2 -ss 60 -vframes 1 test.jpg
说明:
截取视频开始第60s时的画面。
-ss 指定截取的秒数, 示例中截取第60秒时的画面。

命令2:
ffmpeg -i aa.mp4 -r 1 -ss 00:00:26 -t 00:00:07 %03d.png
说明
保存指定一段视频中每一秒的图片。
-i 输入视频文件, 格式可以多种, 如mkv、avi、mov。
-r 1 表示每秒一张, 类推-r 20表示每秒截取20张。
-ss xx:xx:xx 视频截取开始时间。
-t xx:xx:xx 视频截取截止时间。
%-3d.png 表示截取图片名从0依次递增, png为截取图片格式, 类似可使用%03d.jpg

命令3:
ffmpeg -i aa.mp4 -r 1 %03d.png
说明
保存全部视频中每一秒的图片。
-i 输入视频文件, 格式可以多种, 如mkv、avi、mov。
-r 1 表示每秒一张, 类推-r 20表示每秒截取20张。
%-3d.png 表示截取图片名从0依次递增, png为截取图片格式, 类似可使用%03d.jpg

4. ffmpeg视频剪切

命令1:
ffmpeg -ss 10 -t 15 -i test.mp4 -codec copy cut.mp4
说明:
裁剪10s到15s的视频段。
-ss xx:xx:xx 视频裁剪开始时间。
-t xx:xx:xx 视频裁剪截止时间。
-acodec copy 表示copy。
注意:将-ss和-t参数必须放在放在-i参数之前, 对输入文件执行seek操作, 会seek到-ss设置的时间点前面的关键帧上。
时间不精确,但是不会出现黑屏

命令2:
ffmpeg -ss 10 -t 15 -accurate_seek -i test.mp4 -codec copy cut.mp4
说明:
精确裁剪从10s到15s的视频段。
accurate_seek 剪切时间更加精确, accurate_seek必须放在-i参数之前。
-acodec copy 表示copy。

命令3:
ffmpeg -ss 10 -t 15 -accurate_seek -i test.mp4 -codec copy -avoid_negative_ts 1 cut.mp4
说明:
精准裁剪,时间不会精确裁剪, 会找到时间点附近的关键帧进行裁剪。
-avoid_negative_ts 1 找到时间点附近的关键帧进行裁剪, 如果编码格式采用的copy最好加上-avoid_negative_ts 1参数。
-acodec copy 表示copy。

5. ffmpeg截取mp3音频

命令1:
ffmpeg -i source.mp3 -ss 00:01:01 -t 00:02:50 -acodec copy output.mp3
说明:
截取mp3音频01:01到02:50的音频。
-ss xx:xx:xx 音频裁剪开始时间。
-t xx:xx:xx 音频裁剪截止时间。
-acodec copy 表示copy。

命令2:
ffmpeg -i source.mp3 -ss 00:01:01 -t 50 -acodec copy output.mp3
说明:
截取mp3音频从01:01开始50s的音频。
-ss xx:xx:xx 音频裁剪开始时间。
-t xx 音频裁剪长度, 单位是秒。
-acodec copy 表示copy。

6. ffmpeg视频逆时针旋转90度

命令:
ffmpeg -i test.mp4 -metadata:s:v rotate=“90” -codec copy cut.mp4
说明:
rotate参数直接填度数, 类似可以设置180、270等其他度数, 需要注意的是必须是90的倍数才会生效。

7. ffmpeg视频更改分辨率

命令1:
ffmpeg -i test.mp4 -strict -2 -s 640x480 cut.mp4
说明:
-strict -2 表示音频编码。
-s 640x480 表示给改到的分辨率, 注意中间是小写字母x表示乘号。
注意: 如果视频比例跟之前的不一样, 可能会导致视频变形。

命令2:
ffmpeg -i test.mp4 -strict -2 -vf scale=640:-1 cut.mp4
说明:
scale=x:y 表示按比例缩放宽高, 示例中宽为640, 高填充-1表示按比例自动缩放。
注意: scale后的宽或者高的值一定要是原视频成倍数关系的值, 如原视频为1280x720, 则1280/2=640
640/2=320 320/2=160 160/2=80 80/2=40 40平方根是20, 宽只要是20的倍数,即可执行成功。

命令3:
ffmpeg -i test.mp4 -strict -2 -vf scale=-1:480 cut.mp4
说明:
scale=x:y 表示按比例缩放宽高, 示例中高为480, 宽填充-1表示按比例自动缩放。
注意: scale后的宽或者高的值一定要是原视频成倍数关系的值, 如原视频为1280x720, 则720/2=360
360/2=180 180/2=90 90的平方根是30, 高只要是30的倍数, 即可执行成功。

8. ffmpeg视频画面裁剪

命令1:
ffmpeg -i test.mp4 -strict -2 -vf crop=iw/2:ih:0:0 cut.mp4
说明:
-strict -2 表示音频编码
crop=width:height:X:Y,width:height是裁剪出的尺寸宽高, X:Y是裁剪起始位置。
示例中iw/2是表示视频宽度为原来的1/2; ih表示高度不变;0:0代表从x 0, y 0处裁剪。
视频裁剪出原来宽度的前一般画面。

命令2:
ffmpeg -i test.mp4 -strict -2 -vf crop=iw/2:ih:iw/2:0 cut.mp4
说明:
参数讲解如上, 该命令是视频裁剪出原来宽度的后一半画面。

命令3:
ffmpeg -i test.mp4 -strict -2 -vf crop=iw:ih/3:0:0 cut.mp4
说明:
参数讲解如上, 该命令是视频裁剪出原来高度前三分之一的画面。

命令4:
ffmpeg -i test.mp4 -strict -2 -vf crop=iw:ih/3:0:ih*2/3 cut.mp4
说明:
参数讲解如上, 该命令是视频裁剪出原来高度后三分之一的画面。

命令5:
ffmpeg -i 40.mp4 -strict -2 -vf crop=iw/2:ih/2:iw/3:ih/3 cut.mp4
说明:
参数讲解如上, 该命令是视频裁剪出从原来高度1/3和宽度1/3点开始, 大小为原来宽高一半的视频。

命令6:
ffmpeg -i test.mp4 -strict -2 -vf crop=640:480:640:0 cut.mp4
说明:
参数讲解如上, 可直接使用像素尺寸来裁剪。

【音视频开发】第三章 FFmpeg 命令实战 保留编码格式:ffmpeg -i test.mp4 -vcodec copy -an test_copy.h264。强制格式:ffmpeg -i test.mp4 -acodec libmp3lame -vn test.mp3。强制格式:ffmpeg -i test.mp4 -vcodec libx264 -an test.h264。保留编码格式:ffmpeg -i test.mp4 -acodec copy -vn test.aac。禁用视频:ffplay test.mp4 -vn。 阅读详情

相关推荐

技术分享| 如何使用FFmpeg命令处理音视频

FFmpeg是领先的多媒体框架,是一个强大的处理音视频的开源库,能够解码、编码、转码、混流、流媒体分离、滤镜和播放几乎所有格式的音视频内容。它既可以使用API对音视频进行处理,也可以使用FFmpeg命令编辑音视频文件。 包含用于音频、视频和字幕流的多个解码器和编码器,以及多个位流过滤器。 FFmpeg目录及其作用 libavutil: 是一个包含用于简化编程的函数工具库,包括随机数生成器、数据结构、数学例程、核心多媒体实用程序等等。 libavcodec: 是一个包含用于音频/视频编解码器的库。 lib

anyRTC的博客 3085

FFmpeg:命令行操作

ffmpeg命令行使用_狗蛋儿l的博客-优快云博客_ffmpeg命令行 查看视频信息 ffmpeg -i 视频名字 1 视频名字这里输入前几个字符按 tab 键可以自动补全 返回结果: 红框之内的内容没什么用 编码器 :encoder : Lavf57.25.100 持续时间:Duration: 00:14:20.58, start: 0.000000, bitrate: 381 kb/s Duration 持续时间,start 开始时间,bitrate比特率 视频流: Stream #0:

qq_41962968的博客 7717

FFMPEG基本操作命令指南(二)

FFMPEG基本操作命令指南(二)

m0_58954887的博客 1803

【FFmpeg】视频压缩:scale

【FFmpeg】视频压缩:scale

m0_60259116的博客 2720

FFMPEG基本操作命令指南(一)

FFMPEG基本操作命令指南(一)

m0_58954887的博客 3316

SCU【C】程序设计基础期末安全项目lab2-Deadbeef-writeup(附题目&源码)

项目名称(本质:栈溢出攻击)【源码在文首】和lab1一样,此题又是美国卡耐基梅隆大学的平时作业哈哈哈! 项目要求是把栈溢出,强行更改函数返回值,输出0xdeadbeef。

2301_79586491的博客 1544

ffmpeg使用总结

ffmpeg使用总结 文章目录ffmpeg使用总结1 获取2 用法3 视频数据集预处理脚本3.1 UCF1013.2 AVA2.2 1 获取 安装 pip install ffmpeg 查看版本 ffmpeg --version 查看帮助选项 for basic options ffmpeg -h 查看选项 for more options ffmpeg -h long 2 用法 1、将一个老式的avi文件转成mp4 ffmpeg -i final.avi -acodec copy -vcodec

qq_22003061的博客 788

工业焊缝缺陷检测实战:我用PatchCore在自建数据集上踩过的那些坑

本文详细介绍了PatchCore算法在工业焊缝缺陷检测中的实战应用,包括数据准备、模型调参和阈值优化等关键环节。通过分析焊缝图像的特殊性和anomaly detection技术的优化策略,分享了在自建数据集上提升检测精度的实用经验,为工业质检领域提供有价值的参考方案。

weixin_42624889的博客 398

使用FFmpeg实现精确剪切视频

基本的剪切命令: 用-ss和-t选项, 从第 30 秒开始,向后截取 10 秒的视频,并保存: ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0-codec copy output.wmv ffmpeg -i input.wmv -ss 30 -c copy -t 10 -codec copy output.wmv 达成相同效果,也可以用-ss和-to选项, ffmpeg -i input.wm...

yunxiaobaobei的博客 3万+

ESP32+micro-ROS机器人开发实战:轻量级ROS2嵌入式集成

ROS2是现代机器人软件栈的核心框架,其基于DDS的分布式通信与QoS保障能力为多节点协同提供基础支撑;而micro-ROS作为专为微控制器优化的ROS2兼容中间件,解决了资源受限设备(如ESP32)接入ROS2生态的关键难题。其通过分层架构将DDS通信下沉至上位机Agent,使MCU仅需运行轻量Client,大幅降低内存开销(实测<180KB)并保留标准ROS2接口语义。该方案广泛应用于教育机器人、移动底盘、传感器节点等嵌入式场景,尤其适合基于ESP-IDF开发的Wi-Fi/BLE物联网机器人系统。本文以

weixin_29025501的博客 400

CAS5和CAS6自定义异常提示消息

CAS自定义异常提示消息

weixin_42949219的博客 979

使用ffmpeg修改视频文件的分辨率

In this article we show how to resize any video file.This method is one of the bests ways to resize a video file in Linux systems (almost any distribution), and an excellent alternative to Windows and...

运用之妙,存乎一心 3万+

【人工智能之深度学习】21. 自动驾驶感知实战:YOLOv4复杂天气优化方案(BDD100K全代码+效果对比)

摘要:自动驾驶摄像头在雨雾天气下易受图像模糊、目标遮挡影响,导致YOLOv4检测精度骤降。本文基于BDD100K公开数据集(含多天气场景),设计三阶段优化方案:1)物理建模生成雨雾效果(雨滴线条+大气散射模型),将恶劣天气样本占比从20%提升至40%;2)在YOLOv4颈部嵌入CBAM注意力机制,强化模糊区域特征提取;3)L1剪枝(30%)+TensorRT量化实现轻量化。需特别说明:本文为教学虚拟案例,不可直接用于车载部署,实际落地需结合多传感器融合与ISO 26262认证。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1686

FFMpeg音视频操作命令

如果没有安装ffmpeg,请参考:Mac 配置FFmpeg环境 视频 视频裁剪: 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...

wangjiang 1万+

财务惊呼“不可能”!Python 自动识别 PDF 发票,数据秒级录入系统

电子发票(原生 PDF):这种最爽,文字是可以选中的。我们用 PyPDF2 直接提取文本,速度快,准确率 100%。 纸质扫描/拍照发票:这种是图片。必须上 OCR(光学字符识别)。我们要用百度开源的 PaddleOCR,这是目前中文识别效果最好的开源库之一,吊打早已过气的 Tesseract。

BUG猿的博客 1024

简要介绍 | 两阶段点云目标检测:理论与实践

目标检测是计算机视觉中的一个重要任务,其目的是识别和定位图像中的物体。对于二维图像,这已经有许多有效的方法。然而,对于三维数据(如由LiDAR生成的点云数据),目标检测则更为复杂。

NLOS的博客 1307

FFmpeg之命令行操作、音视频同步的原理

FFmpeg概要:https://blog.youkuaiyun.com/u011146511/article/details/85229288 设置好FFmpeg的环境变量,就可以在命令行直接使用ffmpeg、ffprobe、ffplay命令; ffmpeg:ffmpeg的主要用途是编码、解码、转码、媒体格式转换、转封装。 帮助基础信息:ffmpeg --help 高级信息:ffmpeg --help long 全部信息:ffmpeg --help full 查看支持的视频格式:ffmpeg -forma

代码解释生活 1914

3、固定翼无人机模型解析

本文详细解析了固定翼无人机的动力学模型与纵向模型,涵盖位置、速度、角度及角速度的变化率方程,并介绍了力和力矩的计算方法以及气动系数的表达式。通过关键参数分析,探讨了速度、迎角和倾斜角对飞行性能的影响。文章还展示了模型在编队飞行和任务规划中的应用,并提出了参数优化与先进控制策略等优化思路,为无人机飞行控制系统设计提供了理论基础。

gaochao的博客 240

FFmpeg是个经典的音视频处理开源框架,可是FFmpeg仅提供命令行方式,通过FFmpeg剪辑音视频只能在命令行下面操作,从而限制了普通用户掌握FFmpeg。

FFBox的官网地址为http://FFBox.ttqf.tech,源码托管地址为https://github.com/ttqftech/FFBox(星星数1.0k),国内的镜像地址为https://gitee.com/ttqf/FFBox和https://gitcode.com/gh_mirrors/ff/FFBox。总的来说,FFBox的界面细节考究,视觉体验焕然一新,且图形化实时显示进度、速度、码率、剩余时间等信息,并支持以图表模式直观展示,是个不错的国产多媒体剪辑工具。

Ga5CS5VvN的博客 148

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ffmpeg 声音参数_FFmpeg 命令操作音视频

目的:FFmpeg 命令操作视频环境:系统:Win10环境:ffmpeg-20180723-win64-shared命令及参数说明1. ffmpeg将mp4视频转换成gif格式图片命令:ffmpeg -ss 2 -t 5 -i test.mp4 -s 640x480 -r 15 output.gif说明:-ss 2 -t 5表示从第2秒到第5秒,-s 640x480 设定分辨率, -r 15 设置...

weixin_39592315的博客 263

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java使用ffmpeg进行视频格式转换、音视频合并、播放、截图

上一篇进行了ffmpeg的下载及安装 本篇在上一篇的基础上进行代码封装,Java里使用ProcessBuilder模拟命令行调用ffmpeg进行视频格式转换、音视频合并、播放、截图。 需先安装ffmpeg, fmpeg官网下载 或 百度云 (提取码:ff8o) FfmpegUtils封装类: ffplay、ffmpeg、ffprobe是安装的ffmpeg路径。 import java.io.BufferedReader; import java.io.File; import java.io.IOExc

西凉的悲伤博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ffmpe 1 命令行操作概述

ffmpeg工具包含 ffmpeg ffprobe和ffplayer,此处归纳总结前两个的常用用法,对于ffplayer 本文不加叙述。 ffmpeg 音视频处理工具 ffprobe 音视频分析工具,分析指定音视频的格式, ffplayer 音视频播放工具 本文工具所运行的环境均为Linux环境。 本文主要解析ffmpeg的操作,ffprobe简要叙述 一 ffprobe 1.命令格式 ffprobe [options] [input_url] options: 要操作的选项,如果时查询

朱子龙的博客 547

FFmpeg学习(11) FFmpeg音视频的裁剪与合并命令实战

文章目录FFmpeg学习(11) FFmpeg音视频的裁剪与合并命令实战 FFmpeg学习(11) FFmpeg音视频的裁剪与合并命令实战

kyl282889543的博客 510

FFMPEG安装及入门

ffmpeg介绍 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流(什么是流?)的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。 项目组成功能介绍 libavformat:用于各种音视频封装格式的生成和解析,包括

qq_38183694的博客 688

ffmpeg:入门简单命令的使用

使用ffmpeg对音频进行相关操作

ETalien_的博客 1427
上一篇: HTM+CSS实现立方体图片旋转展示效果
下一篇: FastDFS集群架构配置搭建(转载)
hi come
博客等级 码龄14年 33粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值