http://blog.csdn.net/shendan00/article/details/18839793

1命令语法

使用语法 ffmpeg[[options][`-i' input_file]]... {[options] output_file}...

2基本选项

常用选项

编解码类

功能

-f

指定格式,包括视频和音频

-i

输入文件名

-title string

标题

-timestamp time

时间戳

-author string

作者

-copyright string

版权信息

-comment string

评论

输出打印类

功能

-h

打印基本选项

-h long

打印更多选项

-h full

打印所有的选项,包括格式和编码。

-version

显示版本

-formats

显示可以使用的格式

-codecs

显示可用编码

-decoders

显示解码器

-encoders

显示编码器

-bsfs

显示可用位流过滤器

-protocols

显示可用协议

-filters

显示可用过滤器

-pix_fmts

显示可用点格式

-layouts

显示标准通道布局

-sample_fmts

显示可用音频采样格式

全局选项

功能

-loglevel loglevel

set logging level

-v loglevel

set logging level

-report

generate a report

-max_alloc bytes

set maximum size of a single allocated block

-y

overwrite output files

-n

do not overwrite output files

-stats

print progress report during encoding

-bits_per_raw_sample number

设置每个采样点的位数

-vol volume

改变音量 (256=normal)

单个文件的主要选项

功能

-f fmt

force format

-c codec

codec name

-codec codec

codec name

-pre preset

preset name

-map_metadata outfile[,metadata]:infile[,metadata]

set metadata information of outfile from infile

-t duration

持续时间

-to time_stop

record or transcode stop time

-fs limit_size

set the limit file size in bytes

-ss time_off

set the start time offset

-timestamp time

set the recording timestamp ('now' to set the current time)

-metadata string=string

add metadata

-target type

specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)

-frames number

set the number of frames to record

-filter filter_graph

set stream filtergraph

-filter_script filename

read stream filtergraph description from a file

-reinit_filter

reinit filtergraph on input parameter changes

Video options:

0

-vframes number

set the number of video frames to record

-r rate

set frame rate (Hz value, fraction or abbreviation)

-s size

set frame size (WxH or abbreviation)

-aspect aspect

set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)

-bits_per_raw_sample number

set the number of bits per raw sample

-vn

disable video

-vcodec codec

force video codec ('copy' to copy stream)

-timecode hh:mm:ss[:;.]ff

set initial TimeCode value.

-pass n

select the pass number (1 to 3)

-vf filter_graph

set video filters

-b bitrate

video bitrate (please use -b:v)

-dn

disable data

Audio options:

-aframes number

set the number of audio frames to record

-aq quality

set audio quality (codec-specific)

-ar rate

set audio sampling rate (in Hz)

-ac channels

set number of audio channels

-an

disable audio

-acodec codec

force audio codec ('copy' to copy stream)

-vol volume

change audio volume (256=normal)

-af filter_graph

set audio filters

Subtitle options:

-s size

set frame size (WxH or abbreviation)

-sn

disable subtitle

-scodec codec

force subtitle codec ('copy' to copy stream)

-stag fourcc/tag

force subtitle tag/fourcc

-fix_sub_duration

fix subtitles duration

-canvas_size size

set canvas size (WxH or abbreviation)

-spre preset

set the subtitle options to the indicated preset

3具体应用

3.1.图片合成视频

将图片进行命名排序

输入命令

ffmpeg -f image2 -i pic\%04.jpg –r 5 a.flv

注:图片格式,输入文件,每秒5帧。

3.2.ARM9 USB摄像头摄像

ffmpeg -f v4l2 -s 320*240 -r 2 -i/dev/video0 -vcodec mpeg4 /home/f.mp4

ffmpeg -f v4l2 -s 320*240 -r 8 -i/dev/video0 -vcodec h263 -f rtp rtp://192.168.1.6:5060 > /tmp/ffmpeg.sdp

以上命令表示:采集10秒钟视频,对video4linux2视频设备进行采集,采集QCIF(176*144)的视频,每秒8帧,视频设备为 /dev/video0,视频编码为h263,输出格式为RTP,后面定义了IP地址及端口,将该码流所对应的SDP文件重定向到/tmp /ffmpeg.sdp中,将此SDP文件上传到流媒体服务器就可以实现直播了。

./ffmpeg -t 10 -f video4linux2 -s 176*144-r 10 -vpre libx264-hq.ffpreset -i /dev/video0-vcodec libx264 -f rtp rtp://192.168.1.105:6060 > /tmp/x264.sdp

3.3.视频截图

ffmpeg -i test.asf -f image2 -t 0.001 -s352x240 a.jpg

3.4.视频截取动态图

ffmpeg -i test.asf -vframes 30 -f gif a.gif

3.5.转换文件为3GP格式

ffmpeg -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac-ac 2 -ar 22500 -ab 24 -f 3gp test.3gp

ffmpeg -i test.wmv -ac 1 -acodec libamr_nb -ar 8000 -ab 12200 -s 176x144 -b 128-r 15 test.3gp

注:如果要转换为3GP格式,则ffmpeg在编译时必须加上–enable-amr_nb –enable-amr_w。

3.6.转换文件到FLV格式

ffmpeg.exe -i test.mp4 -ab 56 -ar 22050 -b500 -r 15 -s 320x240 f:\test.flv

3.7.将一段音频与一段视频混合

ffmpeg -i son.wav -i video_origine.avivideo_finale.mpg

3.8.将视频转换为图片

ffmpeg -i video.mpg image%d.jpg

3.9.录像屏幕

ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300-vd x11:0,0 -s 1024x768 ./test.avi

注:使用ffmpeg其中,-vd x11:0,0 指录制所使用的偏移为 x=0 和 y=0,-s 1024×768 指录制视频的大小为 1024×768。

3.10.压制H.264视频

ffmpeg-threads 4 -i INPUT -r 29.97 -vcodec libx264 -s 480x272 -flags +loop -cmp+chroma -deblockalpha 0 -deblockbeta 0 -crf 24 -bt 256k -refs 1 -coder 0 -meumh -me_range 16 -subq 5 -partitions +parti4x4+parti8x8+partp8x8 -g 250-keyint_min 25 -level 30 -qmin 10 -qmax 51 -trellis 2 -sc_threshold 40-i_qfactor 0.71 -acodec libfaac -ab 128k -ar 48000 -ac 2

注:使用该指令可以压缩出比较清晰,而且文件转小的H.264视频文件

3.11.获取PCM数据

ffmpeg -i input.mpg -f s16le -ar 44100-acodec pcm_s16le output.pcm

3.12.Windows摄像

./ffmpeg -t 10 -f vfwcap -i 0 -r 8 -f mp4cap.mp4

说明:我们采集10秒,采集设备为vfwcap类型设备,第0个vfwcap采集设备(如果系统有多个vfw的视频采集设备,可以通过-i num来选择),每秒8帧,输出方式为文件,格式为mp4。

ffmpeg -f vfwcap -s 320x240 -r 25 -i 0 -b400K -vcodec mpeg4 new.mp4

ffmpeg -r 15 -s 352x288 -f  vfwcap -i 0 http://localhost:8090/feed1.ffm

有任何意见或问题的请留言,希望能帮到你!

ruihanL@126.com

2014/1/9

1命令语法

使用语法 ffmpeg[[options][`-i' input_file]]... {[options] output_file}...

2基本选项

常用选项

编解码类

功能

-f

指定格式,包括视频和音频

-i

输入文件名

-title string

标题

-timestamp time

时间戳

-author string

作者

-copyright string

版权信息

-comment string

评论

输出打印类

功能

-h

打印基本选项

-h long

打印更多选项

-h full

打印所有的选项,包括格式和编码。

-version

显示版本

-formats

显示可以使用的格式

-codecs

显示可用编码

-decoders

显示解码器

-encoders

显示编码器

-bsfs

显示可用位流过滤器

-protocols

显示可用协议

-filters

显示可用过滤器

-pix_fmts

显示可用点格式

-layouts

显示标准通道布局

-sample_fmts

显示可用音频采样格式

全局选项

功能

-loglevel loglevel

set logging level

-v loglevel

set logging level

-report

generate a report

-max_alloc bytes

set maximum size of a single allocated block

-y

overwrite output files

-n

do not overwrite output files

-stats

print progress report during encoding

-bits_per_raw_sample number

设置每个采样点的位数

-vol volume

改变音量 (256=normal)

单个文件的主要选项

功能

-f fmt

force format

-c codec

codec name

-codec codec

codec name

-pre preset

preset name

-map_metadata outfile[,metadata]:infile[,metadata]

set metadata information of outfile from infile

-t duration

持续时间

-to time_stop

record or transcode stop time

-fs limit_size

set the limit file size in bytes

-ss time_off

set the start time offset

-timestamp time

set the recording timestamp ('now' to set the current time)

-metadata string=string

add metadata

-target type

specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)

-frames number

set the number of frames to record

-filter filter_graph

set stream filtergraph

-filter_script filename

read stream filtergraph description from a file

-reinit_filter

reinit filtergraph on input parameter changes

Video options:

0

-vframes number

set the number of video frames to record

-r rate

set frame rate (Hz value, fraction or abbreviation)

-s size

set frame size (WxH or abbreviation)

-aspect aspect

set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)

-bits_per_raw_sample number

set the number of bits per raw sample

-vn

disable video

-vcodec codec

force video codec ('copy' to copy stream)

-timecode hh:mm:ss[:;.]ff

set initial TimeCode value.

-pass n

select the pass number (1 to 3)

-vf filter_graph

set video filters

-b bitrate

video bitrate (please use -b:v)

-dn

disable data

Audio options:

-aframes number

set the number of audio frames to record

-aq quality

set audio quality (codec-specific)

-ar rate

set audio sampling rate (in Hz)

-ac channels

set number of audio channels

-an

disable audio

-acodec codec

force audio codec ('copy' to copy stream)

-vol volume

change audio volume (256=normal)

-af filter_graph

set audio filters

Subtitle options:

-s size

set frame size (WxH or abbreviation)

-sn

disable subtitle

-scodec codec

force subtitle codec ('copy' to copy stream)

-stag fourcc/tag

force subtitle tag/fourcc

-fix_sub_duration

fix subtitles duration

-canvas_size size

set canvas size (WxH or abbreviation)

-spre preset

set the subtitle options to the indicated preset

3具体应用

3.1.图片合成视频

将图片进行命名排序

输入命令

ffmpeg -f image2 -i pic\%04.jpg –r 5 a.flv

注:图片格式,输入文件,每秒5帧。

3.2.ARM9 USB摄像头摄像

ffmpeg -f v4l2 -s 320*240 -r 2 -i/dev/video0 -vcodec mpeg4 /home/f.mp4

ffmpeg -f v4l2 -s 320*240 -r 8 -i/dev/video0 -vcodec h263 -f rtp rtp://192.168.1.6:5060 > /tmp/ffmpeg.sdp

以上命令表示:采集10秒钟视频,对video4linux2视频设备进行采集,采集QCIF(176*144)的视频,每秒8帧,视频设备为 /dev/video0,视频编码为h263,输出格式为RTP,后面定义了IP地址及端口,将该码流所对应的SDP文件重定向到/tmp /ffmpeg.sdp中,将此SDP文件上传到流媒体服务器就可以实现直播了。

./ffmpeg -t 10 -f video4linux2 -s 176*144-r 10 -vpre libx264-hq.ffpreset -i /dev/video0-vcodec libx264 -f rtp rtp://192.168.1.105:6060 > /tmp/x264.sdp

3.3.视频截图

ffmpeg -i test.asf -f image2 -t 0.001 -s352x240 a.jpg

3.4.视频截取动态图

ffmpeg -i test.asf -vframes 30 -f gif a.gif

3.5.转换文件为3GP格式

ffmpeg -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac-ac 2 -ar 22500 -ab 24 -f 3gp test.3gp

ffmpeg -i test.wmv -ac 1 -acodec libamr_nb -ar 8000 -ab 12200 -s 176x144 -b 128-r 15 test.3gp

注:如果要转换为3GP格式,则ffmpeg在编译时必须加上–enable-amr_nb –enable-amr_w。

3.6.转换文件到FLV格式

ffmpeg.exe -i test.mp4 -ab 56 -ar 22050 -b500 -r 15 -s 320x240 f:\test.flv

3.7.将一段音频与一段视频混合

ffmpeg -i son.wav -i video_origine.avivideo_finale.mpg

3.8.将视频转换为图片

ffmpeg -i video.mpg image%d.jpg

3.9.录像屏幕

ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300-vd x11:0,0 -s 1024x768 ./test.avi

注:使用ffmpeg其中,-vd x11:0,0 指录制所使用的偏移为 x=0 和 y=0,-s 1024×768 指录制视频的大小为 1024×768。

3.10.压制H.264视频

ffmpeg-threads 4 -i INPUT -r 29.97 -vcodec libx264 -s 480x272 -flags +loop -cmp+chroma -deblockalpha 0 -deblockbeta 0 -crf 24 -bt 256k -refs 1 -coder 0 -meumh -me_range 16 -subq 5 -partitions +parti4x4+parti8x8+partp8x8 -g 250-keyint_min 25 -level 30 -qmin 10 -qmax 51 -trellis 2 -sc_threshold 40-i_qfactor 0.71 -acodec libfaac -ab 128k -ar 48000 -ac 2

注:使用该指令可以压缩出比较清晰,而且文件转小的H.264视频文件

3.11.获取PCM数据

ffmpeg -i input.mpg -f s16le -ar 44100-acodec pcm_s16le output.pcm

3.12.Windows摄像

./ffmpeg -t 10 -f vfwcap -i 0 -r 8 -f mp4cap.mp4

说明:我们采集10秒,采集设备为vfwcap类型设备,第0个vfwcap采集设备(如果系统有多个vfw的视频采集设备,可以通过-i num来选择),每秒8帧,输出方式为文件,格式为mp4。

ffmpeg -f vfwcap -s 320x240 -r 25 -i 0 -b400K -vcodec mpeg4 new.mp4

ffmpeg -r 15 -s 352x288 -f  vfwcap -i 0 http://localhost:8090/feed1.ffm

有任何意见或问题的请留言,希望能帮到你!

ffmpeg编解码应用相关推荐

  1. ffmpeg 编解码 码率设置问题 CBR 、VBR

    之前都是利用硬件进行视频流的编解码 最近 在利用ffmpeg 编解码在CPU上进行软解软编码 之前别的硬件平台设置码率和vbr cbr的时候 提供了接口直接设置一下就可以 但是ffmpeg这里 并没有 ...

  2. FFmpeg编解码常用API和数据结构

    一.简述 本文主要介绍FFmpeg 编程中用到的基础知识,包含常见音视频概念,常用API函数,常用结构体,解封装流程,解复用器流程以及注册等. 二.常见音视频概念 容器/文件( Conainer/Fi ...

  3. 【FFmpeg】FFmpeg编解码H264产生马赛克、伪影的解决方法

    1.问题描述 使用FFmpeg编码H264,再解码显示时,产生马赛克:有时是在画面静止时,静止时间越长,马赛克.伪影越多:有时是在画面切入切出时:有时是在网络带宽不够时 2.原因分析 2.1 丢帧 网 ...

  4. ffmpeg编解码详细过程

    1. 注册所有容器格式和CODEC:av_register_all() 2. 打开文件:av_open_input_file() 3. 从文件中提取流信息:av_find_stream_info() ...

  5. 视频直播流程以及ffmpeg编解码流程

    去年最流行的非视频直播莫属,出现了几百家的直播平台,毕竟自己也是在直播平台做开发的,然后就写一篇关于直播的文章.这里只说流程,具体的实现就不说了,应付面试应该还是可以的. 先上一张简单的流程图: 上面 ...

  6. ffmpeg 编解码流程

    去年最流行的非视频直播莫属,出现了几百家的直播平台,毕竟自己也是在直播平台做开发的,然后就写一篇关于直播的文章.这里只说流程,具体的实现就不说了,应付面试应该还是可以的. 先上一张简单的流程图: 上面 ...

  7. FFmpeg编解码处理1-转码全流程简介

    https://www.cnblogs.com/leisure_chn/p/10584901.html

  8. FFmpeg编解码过程(五)

    下面我针对学习路线中的各部分单独做一下介绍视音频基础知识:视频.图像.音频的格式.这里的"格式"是一个广义的概念,既包括MP4,FLV这样的封装格式,也包括H264, MPEG2这 ...

  9. ffmpeg编解码格式

    首先要分清楚媒体文件和编码的区别: 文件是既包括视频又包括音频.甚至还带有脚本的一个集合,也可以叫容器: 文件当中的视频和音频的压缩算法才是具体的编码. 也就是说一个.avi文件,当中的视频可能是编码 ...

最新文章

  1. 读书笔记:理论生态学原理及应用(一)——合作的机制
  2. 【计算理论】可判定性 ( 计算模型与语言 | 区分 可计算语言 与 可判定语言 | 证明 通用图灵机语言是 可计算语言 | 通用任务图灵机 与 特殊任务图灵机 )
  3. 转:linux的源码查看, c++语法 查看网站
  4. 河中跳房子(noiopenjudge,noip2015)
  5. 计算机组装与维护补考论文,探讨《计算机组装与维护》课程教学论文
  6. Java面向对象之继承、super关键字、方法重写
  7. java面试要点---基础部分CoreJava,基础及语法
  8. java gpu hash_比特币 GPU 挖矿 Sha256 Hash实现(OpenCL)
  9. 金庸群侠传修改器链接服务器,《金庸群侠传》6合1版修改器
  10. MATLAB人脸识别系统
  11. 修复鹏城开发者云硬盘扩容报错 fdisk: cannot write disk label: Invalid argument
  12. html清除span的text,使用jquery删除字符串中的span标签
  13. 浏览器利用框架BeEF测试
  14. 工业互联网是不是很难学对于女生而言?
  15. Nvidia jetson tx2 ubuntu16.04插入128GB内存卡报错:Unable to access/mount “128 GB Volume”
  16. 基于Autoware制作高精地图(二)
  17. BRAT的安装、配置、标注操作
  18. 激光器发射光功率饱和值
  19. 开关电源补偿环路设计(1):基础部分-以Buck 为例
  20. Qt编写可视化大屏电子看板系统30-模块8物料管理

热门文章

  1. 升级至4K超高清12G-SDI接口时需要考虑的三件事
  2. 假如腾讯跟360之战是一场阴谋联想到的
  3. 一本超越期待的 C++ 书——简评《Boost程序库完全开发指南:深入C++“准”标准库》...
  4. 如何防止CDN防护被绕过
  5. 光电玻璃LED透明屏是黑科技?揭秘玻璃LED透明屏原理
  6. maven依赖的添加
  7. 厦门考计算机竞赛保送北大清华名单,优秀!厦门这些学生将保送清华北大等名校...
  8. 宝马将自动驾驶和打车服务结合,最快明年在德国上路
  9. .resource文件如何打开
  10. [转]JQuery Mobile 手机显示页面偏小_se7en3_新浪博客