ffmpeg转码参数设置
ffmpeg用了很久了,也没有想写点什么。
刚接触ffmpeg也是有大量的不理解的地方,不过慢慢的了解多了基本上都是可以使用的。
本文主要介绍如何使用ffmpeg.exe进行转码。编译好的ffmpeg可以从下面目录下载:
http://ffmpeg.org/download.html
首先,可以使用-formats命令,查看ffmpeg支持的封装格式。
下面截取一段:(D、E分别表示解复用和复用)
File formats:
D. = Demuxing supported
.E = Muxing supported
--
E 3g2 3GP2 (3GPP2 file format)
E 3gp 3GP (3GPP file format)
D 4xm 4X Technologies
E a64 a64 - video for Commodore 64
D aac raw ADTS AAC (Advanced Audio Coding)
DE ac3 raw AC-3
D act ACT Voice file format
D adf Artworx Data Format
D adp ADP
E adts ADTS AAC (Advanced Audio Coding)
DE adx CRI ADX
D aea MD STUDIO audio
D afc AFC
DE aiff Audio IFF
DE alaw PCM A-law
D alias_pix Alias/Wavefront PIX image
DE amr 3GPP AMR
D anm Deluxe Paint Animation
D apc CRYO APC
D ape Monkey's Audio
D apng Animated Portable Network Graphics
D aqtitle AQTitle subtitles
DE asf ASF (Advanced / Active Streaming Format)
E asf_stream ASF (Advanced / Active Streaming Format)
DE ass SSA (SubStation Alpha) subtitle
DE ast AST (Audio Stream)
可以使用-codecs命令,查看ffmpeg支持的编解码器,
ffmpeg输出格式如下:(D、E表示的解码器、编码器)
Codecs:
D..... = Decoding supported
.E.... = Encoding supported
..V... = Video codec
..A... = Audio codec
..S... = Subtitle codec
...I.. = Intra frame-only codec
....L. = Lossy compression
.....S = Lossless compression
-------
D.VI.. 012v Uncompressed 4:2:2 10-bit
D.V.L. 4xm 4X Movie
D.VI.S 8bps QuickTime 8BPS video
.EVIL. a64_multi Multicolor charset for Commodore 64 (encoders: a64multi )
.EVIL. a64_multi5 Multicolor charset for Commodore 64, extended with 5th color (colram) (encoders: a64multi5 )
D.V..S aasc Autodesk RLE
D.VIL. aic Apple Intermediate Codec
DEVI.S alias_pix Alias/Wavefront PIX image
DEVIL. amv AMV Video
D.V.L. anm Deluxe Paint Animation
D.V.L. ansi ASCII/ANSI art
D.V..S apng APNG (Animated Portable Network Graphics) image
DEVIL. asv1 ASUS V1
DEVIL. asv2 ASUS V2
D.VIL. aura Auravision AURA
D.VIL. aura2 Auravision Aura 2
D.V... avrn Avid AVI Codec
DEVI.. avrp Avid 1:1 10-bit RGB Packer
D.V.L. avs AVS (Audio Video Standard) video
DEVI.. avui Avid Meridien Uncompressed
DEVI.. ayuv Uncompressed packed MS 4:4:4:4
ffmpeg命令通常格式如下:
ffmpeg -i xxx out_file
常用的转换格式命令如下:
1. mpeg audio转pcm原始数据
ffmpeg -i cctv2_4101.mpa -f s16le -ar 48000 -acodec pcm_s16le cctv2-4101-Normal.pcm
2. jpg转yuv
jpeg -> yuv420
ffmpeg.exe -i input_file.jpg -pix_fmt yuv420p -y output_file.yuv -v 0
yuv -> jpeg
将大小为720x576的input_file.yuv原始数据另存为jpg格式
ffmpeg.exe -y -s 720x576 -i input_file.yuv -vcodec mjpeg output_file.jpg
3. 不同封装格式转换
3gp to avi
ffmpeg -i source.3gp -f avi -vcodec xvid -acodec mp3 -ar
22050 destination.avi
flv to 3gp
ffmpeg -i source.flv -s 176×144 -vcodec h263 -r 25 -b 200
-ab 64 -acodec mp3 -ac 1 -ar 8000 destination.3gp
flv to mp4
ffmpeg -i source.flv -vcodec h264 -r 25 -b 200 -ab 128
-acodec mp3 -ac 2 -ar 44100 destination.mp3
avi to mp4
ffmpeg -i source.avi -f psp -r 29.97 -b 768k -ar 24000 -ab
64k -s 320×240 destination.mp4
mp4 to 3gp
ffmpeg -i source.mp4 -s 176×144 -vcodec h263 -r 25 -b 12200
-ab 12200 -ac 1 -ar 8000 destination.3gp
avi to 3gp
ffmpeg -i source.avi-s qcif -vcodec h263 -acodec mp3 -ac 1
-ar 8000 -r 25 -ab 32 -y destination.3gp
mpg to 3gp
ffmpeg -i source.mpg -s qcif -vcodec h263 -acodec mp3 -ac 1
-ar 8000 -ab 32 -y destination.3gp
4. yuv转h264 raw/TS
ffmpeg.exe -s 352x288 -pix_fmt yuv420p -i test_352x288.yuv -vcodec libx264 out.h264
(若输出文件改为out.ts,即可实现yuv转ts)
以下简单总结下ffmpeg命令参数:
-i 指定要转换视频的源文件
-s 视频转换后视频的分辨率
-vcodec 视频转换时使用的编解码器(-codecs)
-r 视频转换换的桢率(默认25桢每秒)
-b 视频转换换的bit率
-ab 音频转换后的bit率(默认64k)
-acodec 制度音频使用的编码器(-codecs)
-ac 制定转换后音频的声道
-ar 音频转换后的采样率
-an 禁用音频
-vn 禁用视频
-acodec copy 复制音频,不转码
-vcodec copy 复制视频,不转码
ffmpeg转码参数设置的更多相关文章
- js生成二维码参数设置
jquery qrcode使用方法 $(selector).qrcode({ width: 100, height: 100, color: '#3a3', text: 'http://larsjun ...
- 最新版ffmpeg源码分析
最新版ffmpeg源码分析一:框架 (ffmpeg v0.9) 框架 最新版的ffmpeg中发现了一个新的东西:avconv,而且ffmpeg.c与avconv.c一个模样,一研究才发现是libav下 ...
- 转:MediaCoder H.264格式编码参数设置及详解
转: http://mediacoder.com.cn/node/81 由于现在大部分视频转码都选择H.264格式进行编码,同时CUDA编码的画质还达不到x264软编码的质量(如果你对画质无要求,可以 ...
- darwin转发时,摄像机在3G和4G模式下的参数设置
darwin转发时,摄像机在3G和4G模式下的参数设置 我们转发的是摄像机的子码流,因为在不同的网络环境下,为了达到当前网络环境下最清晰,最流畅的目标,在转发前要根据使用的是3G还是4G及信号强度来自 ...
- (转)x264的一些参数设置对编码效率的影响
转自:http://www.cnblogs.com/wainiwann/p/5647521.html i_luma_deadzone[0]和i_luma_deadzone[1]分别对应inter和in ...
- x264的一些参数设置对编码效率的影响
i_luma_deadzone[0]和i_luma_deadzone[1]分别对应inter和intra, 取值范围1~32,测试可以得知,这连个参数的调整可以对数据量有很大影响,值越大数据量相应越少 ...
- vlc 详细使用方法:libvlc_media_add_option 函数中的参数设置
vlc 详细使用方法:libvlc_media_add_option 函数中的参数设置 [转载自]tinyle的专栏 [原文链接地址]http://blog.csdn.net/myaccella/ar ...
- NVIDIA FFmpeg 转码技术分析
NVIDIA FFmpeg 转码技术分析 所有从 Kepler 一代开始的 NVIDIA GPUs 都支持完全加速的硬件视频编码,而从费米一代开始的所有 GPUs 都支持完全加速的硬件视频解码.截至 ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置
前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...
随机推荐
- jquery 滑动取值
JavaScript 滑动条效果 jquery 滚动条插件 仿iphone苹果横行滚动条美化样式商品图片展示
- C语言学习笔记 (010) - 编写strcpy函数
很多公司的面试官在面试程序员的时候,要求应聘者写出库函数strcpy()的工作方式或者叫实现,很多人以为这个题目很简单,实则不然,别看这么一个小小的函数,它可以从三个方面来考查: (1)编程风格 (2 ...
- Redis 学习之路 (010) - redis命令手册
Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...
- 树莓派进阶之路 (024) - windows远程桌面连接树莓派通过xrdp服务(转)
本文转载:http://www.cnblogs.com/edgexie/p/6527992.html 在网上看到很多关于windows远程桌面连接树莓派的教程.我也按照教程试过了,遇到了几个坑.特意记 ...
- windbg !logexts(自带的监控API)
Logexts.dll windbgth自带了跟进API的功能,这样我们可以方便的跟踪整个API的调用具体的示意图如下: !logexts.logi 将Logger注入目标程序,初始化监控,但是并不开 ...
- C# 自定义控件,日期时间选择输入插件
权声明:本文为博主原创文章,未经博主允许不得转载. // 为textBox1添加一个日期时间选择控件 DateTimeChoser.AddTo(textBox1); DateTimeChoser.De ...
- 获取*.jks签名的方法(Android studio)
- linux文件系统 - 初始化(二)
加载initrd(上) 一.目的 本文主要讲述linux3.10文件系统初始化过程的第二阶段:加载initrd. initrd是一个临时文件系统,由bootload负责加载到内存中,里面包含了基本的可 ...
- Redis 的安装与使用(单节点)
Redis 的安装与使用(单节点) 环境:CentOS 6.5 Redis 版本:redis-3.0 (考虑到Redis3.0 在集群和性能提升方面的特性,rc 版为正式版的候选版,而且 很快就出 ...
- [转]Servlet 单例多线程
Servlet如何处理多个请求访问? Servlet容器默认是采用单实例多线程的方式处理多个请求的: 1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在 ...