关于ffmpeg工具的使用总结

FFmpeg官网:

http://ffmpeg.org/

安装ffmpeg:

http://www.cnblogs.com/freeweb/p/6897907.html

主要参数:

-i 设定输入流

-f 设定输出格式

-ss 开始时间

视频参数:

-b 设定视频流量,默认为200Kbit/s

-r 设定帧速率,默认为25

-s 设定画面的宽与高

-aspect 设定画面的比例

-vn 不处理视频

-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器

音频参数:

-ar 设定采样率

-ac 设定声音的Channel数

-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器

-an 不处理音频

拓展:

-strict -2 之前是实验参数表示 aac音频编码 如果不使用aac音频编码使用使其的编码好像还需要导入第三方的音频编码库 比较麻烦 使用FFmpeg自带的aac音频编码要带上-strict -2 参数就可以了。带这个参数是为了使用aac音频编码。

-sameq 指相同的量级数,常被误用成“相同的画质”,所以被取消。官方推荐用-qscale和-qmax替代 ffmpeg不支持libfaac库,faac库音质也一般。 另支持2套AAC音频编码, -acodec aac 是ffmpeg自制的AAC编码器,处在实验阶段,需要开启"-strict experimental"参数,音质也不差。 -acodec libvo_aacenc 是移植自安卓系统的AAC编码器,比较成熟。

=>m4a转wav

ffmpeg.exe -i input.m4a -ac 2 -ar 44100 -acodec pcm_s16le -f wav output.wav

=>从视频中提取声音

ffmpeg -i [input].mp4 -vn -ab 128k [output].mp3

=>分离视频音频流

ffmpeg -i input_file -vcodec copy -an output_file_video  //分离视频流

ffmpeg -i input_file -acodec copy -vn output_file_audio  //分离音频流

=>去掉视频里的声音(静音)

ffmpeg -i [input].mp4 -an [output].mp4

=>改变视频文件大小(分辨率)

ffmpeg -i [input].mp4 -s 640x480 -c:a copy [output].mp4

=>截取一段音频

ffmpeg -ss 00:00:15 -t 45 -i sampleaudio.mp3 croppedaudio.mp3

ffmpeg -i [input].mp4 -ss 00:00:00 -codec copy -t 15 [output].mp4

-ss:截取开始时间点, -t:要截取的视频长度(15秒)

=>视频剪切

ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg        //提取图片

ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi    //剪切视频

//-r 提取图像的频率,-ss 开始时间,-t 持续时间

=>把一个视频分成多个部分

0-59秒一部分,59秒以后一部分

ffmpeg -i [input].mp4 -t 00:00:59 -c copy [part1].mp4 -ss 00:00:59 -codec copy [part2].mp4

=>查看ffmpeg支持的视频格式:

ffmpeg -formats

=>mp4到wmv格式转换

ffmpeg -i [input].mp4 -c:v libx264 [output].wmv

=>webm转为mp4

ffmpeg -i [input].webm -qscale 0 [output].mp4

=>视频文件名写入txt

ffmpeg -f concat -i file-list.txt -c copy outputfile.mp4

=>对音频加减速

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

=>对视频加减速

ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4

=> 旋转视频

ffmpeg -i input.mp4 -filter:v ‘transpose=1‘ rotated-video.mp4

ffmpeg -i input.mp4 -filter:v ‘transpose=2,transpose=2‘ rotated-video.mp4

=>改变声音大小

ffmpeg -i input.wav -af ‘volume=0.5‘ output.wav

=>加入字幕

ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mkv

=> 把单独的一个图片转为视频

ffmpeg -loop 1 -i image.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4

=>把视频文件转为图片

ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png

=>视频中提取帧

ffmpeg -ss 00:00:15 -i video.mp4 -vf scale=800:-1 -vframes 1 image.jpg

=>把视频转为GIF动态图

ffmpeg -i video.mp4 -vf scale=500:-1 -t 10 -r 10 image.gif

=>左右声道的录音合成为立体声

ffmpeg -i 1.wav -i 2.wav -filter_complex "amovie=1.wav [l]; amovie=2.wav [r]; [l] [r] amerge" 1_2.mp3

=>从视频里截图

ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg

=>音视频文件的切割

ffmpeg -ss 00:00:10 -t 00:01:22 -i input.mp3 output.mp3

=>视频解复用

ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264

ffmpeg –i test.avi –vcodec copy –an –f m4v test.264

=>视频转码

ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –f m4v test.264              //转码为码流原始文件

ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264  //转码为码流原始文件

ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi            //转码为封装文件

//-bf B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制

=>视频封装

ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file

时间: 2024-11-06 12:00:36

关于ffmpeg工具的使用总结的相关文章

C# ffmpeg工具将视频转为SWF格式

1.下载ffmpeg工具 using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls

FFmpeg工具使用总结

. 一. FFmpeg是什么? 简单说,FFmpeg就是一个很好的,免费的,开源的视频转换工具.详细说,FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的. FFmpeg的官网是:http://ffmpeg.org/,下载地址:http://ffm

视频专家之路【二】:ffmpeg工具的使用

本文是听了雷宵骅大神的课之后的总结,部分内容借用了其PPT的内容,如有侵权请告知删除. 雷宵骅大神的博客为:https://blog.csdn.net/leixiaohua1020 要学习汽修,那么首先应该学一下开车,学习ffmpeg的开发,首先从使用ffmpeg工具开始,ffmpeg工具就是由ffmpeg的源码编译好的样子. ffmpeg简单介绍 ffmpeg工具下载 这里是下载ffmpeg的工具,注意下图linking的位置,其中static和shared为工具,Dev为开发源码 ffmpe

FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没有一个人对FFmpeg这个名称感到陌生.FFmpeg是一套非常知名的音视频处理的开源工具,它包含了开发完成的工具软件.封装好的函数库以及源代码供我们按需使用.FFmpeg提供了非常强大的功能,可以完成音视频的编码.解码.转码.视频采集.后处理(抓图.水印.封装/解封装.格式转换等),还有流媒体服务等

ffmpeg文档29-放缩选项

29 放缩选项 视频支持下面的一些选项. 选项可以在ffmpeg工具集中采用-option value的形式进行设置,或者在aresample滤镜中以option=value形式设置,也可以通过libavutil/opt.h的API或明确设置在SwrContext选项中. sws_flags 设置放缩标志.也用于设置放缩算法,仅有一个算法能被选中. 接受如下值: ‘fast_bilinear’ 快速双线性缩放算法 ‘bilinear’ 双线性缩放算法 ‘bicubic’ 双三次的缩放算法. ‘e

ffmpeg文档20-格式选项

20 格式选项 libavformat库提供一些常规的全局选项,它们都可被混合器/分离器设置.一些混合器/分离器还支持附加的私有选项,这些都在其组件处介绍. ffmpeg工具中选项通过特定的-option value进行设置,或者通过AVFormatContext选项设置,或者通过libavutil/opt.h中的API设置 下面是一些被支持的选项: avioflags flags (input/output) 可能值: ‘direct’ 减少缓冲 probesize integer (inpu

FFmpeg安装(windows环境)

?FFmpeg是什么? ?FFmpeg组成 ?下载工具 ?安装FFmpeg ?应用到j2ee项目 前言:学习视频编码,一定要知道雷霄骅(leixiaohua1020)的专栏 ,伟大的程序员,26岁去世.雷霄骅---巨星陨落.此文多为摘录自ffmpeg的文档. 官网:https://www.ffmpeg.org/ github地址:https://github.com/FFmpeg/FFmpeg 1.FFmpeg是什么? 引用百度百科,FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转

ffmpeg文档28-重采样选项

28 重采样选项 音频重采样支持下面一些选项. 选项可以在ffmpeg工具集中采用-option value的形式进行设置,或者在aresample滤镜中以option=value形式设置,也可以通过libavutil/opt.h的API或明确设置在SwrContext选项中. ich, in_channel_count 设置输入通道序数.默认为0.如果in_channel_layout被设置,则并不强制要求设置这个值. och, out_channel_count 设置输出通道序数,默认为0.

ffmpeg文档15-编码器

15 编码器 编码器是ffmpeg用来编码多媒体流的配置单元. 当编译生成ffmpeg时,所有内置编码器默认被支持.可以通过手动设置--enable-lib选项以支持外部(扩展)库.可以在配置选项中利用--list-encoders了解所有可能的编码器 可以利用--disable-encoders禁用所有编码器,也可以单独的利用 --enable-encoder=ENCODER / --disable-encoder=ENCODER启用/禁用个别的编码器. 在ffmpeg工具集中利用选项-enc