1. ffmpeg 可以制作VP6编码格式码流吗怎么制作。命令是什么
不可以,vp6是一个很老的编码格式了,只支持解码,不支持编码。可以查看以下ffmpeg官方命令的查询列表。
现在的ffmpeg新版本,目前,最低只支持到VP8的编码,最新是VP9,未来还会支持更高版本的编码器。
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.V.L. vp3 On2 VP3
D.V.L. vp4 On2 VP4
D.V.L. vp5 On2 VP5
D.V.L. vp6 On2 VP6
D.V.L. vp6a On2 VP6 (Flash version, with alpha channel)
D.V.L. vp6f On2 VP6 (Flash version)
D.V.L. vp7 On2 VP7
DEV.L. vp8 On2 VP8 (decoders: vp8 libvpx vp8_cuvid vp8_qsv ) (encoders: libvpx )
DEV.L. vp9 Google VP9 (decoders: vp9 libvpx-vp9 vp9_cuvid ) (encoders: libvpx-vp9 )
2. linux环境下ffmpeg从视频中每隔几帧提取帧命令
命令:ffmpeg -i INPUT -y -f image2 -ss TIME -vframes 1 OUTPUT
其中各参数的说明如下:
INPUT :输入。表示原始视频文件
TIME:某个时间点,要提取的图像即为该时间点的图像。格式00:01:30或直接写90
OUTPUT:会在视频文件所在的文件夹下生成图像文件
自己动手写个bash小脚本应该不难吧。
3. ffmpeg-python中文文档(三)——API参考
表示上游节点的传出边缘;可以用来创建更多的下游节点。
输入文件 URL (ffmpeg -i option)
在一个 ffmpeg 命令行中包含所有给定的输出
输出文件地址
不询问就覆盖输出文件(ffmpeg -y 选项)
在指定文件上运行 ffprobe 并返回输出的 JSON 表示。
构建用于调用 ffmpeg 的命令行。
构建要传递给 ffmpeg 的命令行参数。
为提供的节点图调用 ffmpeg 。
参数
为提供的节点图异步调用 ffmpeg。
参数
例子
运行和流式输入:
运行并捕获输出:
使用 numpy 逐帧处理视频:
通过重新混合颜色通道来调整视频输入帧。
连接音频和视频流,将它们一个接一个地连接在一起。
筛选器适用于同步视频和音频流的片段。所有段必须具有每种类型的相同数量的流,这也是输出时的流数。
参数
裁剪输入视频。
参数
在输入图像上绘制一个彩色框。
参数
使用 libfreetype 库从视频顶部的指定文件中绘制文本字符串或文本。
要启用此过滤器的编译,您需要使用 --enable-libfreetype . 要启用默认字体回退和字体选项,您需要使用 --enable-libfontconfig . 要启用 text_shaping 选项,您需要使用 --enable-libfribidi
参数
· box - 用于使用背景颜色在文本周围绘制一个框。该值必须是 1(启用)或 0(禁用)。框的默认值为 0。
· boxborderw – 使用 boxcolor 设置要在框周围绘制的边框宽度。boxborderw 的默认值为 0。
· boxcolor - 用于在文本周围绘制框的颜色。有关此选项的语法,请查看 ffmpeg-utils 手册中的“颜色”部分。 boxcolor 的默认值为“white”。
· line_spacing – 使用 box 设置要在框周围绘制的边框的行间距(以像素为单位)。line_spacing 的默认值为 0。
· borderw – 使用边框颜色设置要在文本周围绘制的边框宽度。边框的默认值为 0。
· bordercolor – 设置用于在文本周围绘制边框的颜色。有关此选项的语法,请查看 ffmpeg-utils 手册中的“颜色”部分。边框颜色的默认值为“黑色”。
· 扩展- 选择文本的扩展方式。可以是 none、strftime(已弃用)或 normal(默认)。有关详细信息,请参阅下面的文本扩展部分。
· basetime – 设置计数的开始时间。值以微秒为单位。仅适用于已弃用的 strftime 扩展模式。要在正常扩展模式下进行模拟,请使用 pts 函数,提供开始时间(以秒为单位)作为第二个参数。
· fix_bounds - 如果为 true,检查并修复文本坐标以避免剪切。
· fontcolor - 用于绘制字体的颜色。有关此选项的语法,请查看 ffmpeg-utils 手册中的“颜色”部分。fontcolor 的默认值为“黑色”。
· fontcolor_expr – 与文本相同的扩展字符串以获得动态字体颜色值。默认情况下,此选项具有空值并且不被处理。设置此选项时,它会覆盖 fontcolor 选项。
· font - 用于绘制文本的字体系列。默认情况下无。
· fontfile – 用于绘制文本的字体文件。必须包含路径。如果禁用了 fontconfig 支持,则此参数是必需的。
· alpha – 绘制应用 alpha 混合的文本。该值可以是介于 0.0 和 1.0 之间的数字。该表达式也接受相同的变量 x、y。默认值为 1。请参阅 fontcolor_expr。
· fontsize – 用于绘制文本的字体大小。字体大小的默认值为 16。
· text_shaping – 如果设置为 1,则在绘制文本之前尝试对文本进行整形(例如,反转从右到左文本的顺序并加入阿拉伯字符)。否则,只需按照给定的方式绘制文本。默认为 1(如果支持)。
· ft_load_flags –用于加载字体的标志。这些标志映射了 libfreetype 支持的相应标志,并且是以下值的组合:
默认值为“默认”。有关更多信息,请参阅 FT_LOAD_* libfreetype 标志的文档。
· shadowcolor – 用于在已绘制文本后面绘制阴影的颜色。有关此选项的语法,请查看 ffmpeg-utils 手册中的“颜色”部分。shadowcolor 的默认值为“黑色”。
· shadowx – 文本阴影位置相对于文本位置的 x 偏移量。它可以是正值或负值。默认值为“0”。
· shadowy – 文本阴影位置相对于文本位置的 y 偏移量。它可以是正值或负值。默认值为“0”。
· start_number – n/frame_num 变量的起始帧号。默认值为“0”。
· tabsize - 用于呈现选项卡的空格数大小。默认值为 4。
· timecode – 以“hh:mm:ss[:;.]ff”格式设置初始时间码表示。它可以带或不带文本参数使用。必须指定 timecode_rate 选项。
· rate – 设置时间码帧率(仅限时间码)。
· timecode_rate – 的别名rate。
· r – 的别名rate。
· tc24hmax – 如果设置为 1,时间码选项的输出将在 24 小时左右回绕。默认值为 0(禁用)。
· text -- 要绘制的文本字符串。文本必须是 UTF-8 编码字符序列。如果没有使用参数 textfile 指定文件,则此参数是必需的。
· textfile – 包含要绘制的文本的文本文件。文本必须是 UTF-8 编码字符序列。如果没有使用参数 text 指定文本字符串,则此参数是必需的。如果同时指定了 text 和 textfile,则会引发错误。
· reload – 如果设置为 1,文本文件将在每一帧之前重新加载。一定要自动更新它,否则它可能会被部分读取,甚至失败。
· x – 指定将在视频帧内绘制文本的偏移量的表达式。它相对于输出图像的左边框。默认值为“0”。
· y - 指定将在视频帧内绘制文本的偏移量的表达式。它相对于输出图像的上边框。默认值为“0”。有关接受的常量和函数的列表,请参见下文。
表达式常量:
x 和 y 的参数是包含以下常量和函数的表达式:
· dar:输入显示纵横比,同 (w / h) * sar
· hsub:水平色度子样本值。例如,对于像素格式“yuv422p”,hsub 为 2,vsub 为 1。
· vsub:垂直色度子样本值。例如,对于像素格式“yuv422p”,hsub 为 2,vsub 为 1。
· line_h:每个文本行的高度
· lh:别名为line_h.
· main_h:输入高度
· h: 的别名main_h。
· H: 的别名main_h。
· main_w:输入宽度
· w: 的别名main_w。
· W: 的别名main_w。
· ascent:对于所有渲染的字形,从基线到用于放置字形轮廓点的最高/上网格坐标的最大距离。这是一个正值,因为网格的 Y 轴向上。
· max_glyph_a: 的别名ascent。
· 下降:对于所有渲染的字形,从基线到用于放置字形轮廓点的最低网格坐标的最大距离。由于网格的方向,这是一个负值,Y 轴向上。
· max_glyph_d: 的别名descent。
· max_glyph_h:最大字形高度,即渲染文本中包含的所有字形的最大高度,相当于上升-下降。
· max_glyph_w:最大字形宽度,即渲染文本中包含的所有字形的最大宽度。
· n:输入帧数,从0开始
· rand(min, max):返回一个包含在 min 和 max 之间的随机数
· sar:输入样本纵横比。
· t:时间戳,以秒为单位,如果输入时间戳未知,则为 NAN
· text_h:渲染文本的高度
· th: 的别名text_h。
· text_w:渲染文本的宽度
· tw: 的别名text_w。
· x:绘制文本的 x 偏移坐标。
· y:绘制文本的 y 偏移坐标。
这些参数允许 x 和 y 表达式相互引用,因此您可以例如指定 y=x/dar.
应用自定义过滤器。
filter通常由更高级别的过滤器函数使用,例如 hflip ,但如果缺少过滤器实现 ffmpeg-python ,您可以 filter 直接调用以 ffmpeg-python 将过滤器名称和参数逐字传递给 ffmpeg 。
参数
函数名称后缀_是为了避免与标准 pythonfilter 函数混淆。
例子
替代名称 filter ,以免与内置的 pythonfilter 运算符冲突。
应用具有一个或多个输出的自定义过滤器。
这 filter 与过滤器可以产生多个输出相同。
要引用输出流,请使用 .stream 运算符或括号简写:
例子
水平翻转输入视频。
修改输入的色调和/或饱和度。
参数
将一个视频叠加在另一个视频之上。
参数
更改输入帧的 PTS(表示时间戳)。
FFmpeg里有两种时间戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。 顾名思义,前者是解码的时间,后者是显示的时间。
参数
修剪输入,使输出包含输入的一个连续子部分。
参数
垂直翻转输入视频。
应用缩放和平移效果。
参数
4. ffmpeg 命令行的输出文件的路径该怎么写
ffmpeg 输出文件无须参数,直接写 d:\path\filename.mp4。
ffmpeg -i c:\input\k.mp4 -c d:\path\filename.mp4。
在windows下,路径中出现空格或其他空白符时,则需要用双引号把路径包括起来。
比如 "d:\path\my file.mp4"
5. 我想用ffmpeg命令行转换一个视频文件,视、音频编码格式不变,只是将画面旋转90度,请问命令行该如何写
在你的转码命令里面添加上-vf rotate=PI/2或者-vf rotate=3*PI/2,例如
ffmpeg -i E:\ffmpeg\test.mp4 -y -vf rotate=PI/2 E:\ffmpeg\dest1.mp4
6. 如何使用ffmpeg
基本选项: -formats 输出所有可用格式 -f fmt 指定格式(音频或视频格式) -i filename 指定输入文件名,在linux下当然也能指定:0.0(屏幕录制)或摄像头 -y 覆盖已有文件 -t ration 记录时长为t -fs limit_size 设置文件大小上限 -ss time_off 从指定的时间(s)开始, [-]hh:mm:ss[.xxx]的格式也支持 -itsoffset time_off 设置时间偏移(s),该选项影响所有后面的输入文件。该偏移被加到输入文件的时戳,定义一个正偏移意味着相应的流被延迟了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持 -title string 标题 -timestamp time 时间戳 -author string 作者 -right string 版权信息 -comment string 评论 -album string album名 -v verbose 与log相关的 -target type 设置目标文件类型("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...) -dframes number 设置要记录的帧数 视频选项: -b 指定比特率(bits/s),似乎ffmpeg是自动VBR的,指定了就大概是平均比特率 -vb 指定视频比特率(bits/s) -vframes number 设置转换多少桢(frame)的视频 -r rate 桢速率(fps) -s size 分辨率 -aspect aspect 设置视频长宽比(4:3, 16:9 or 1.3333, 1.7777) -croptop size 设置顶部切除尺寸(in pixels) -cropbottom size 设置底部切除尺寸(in pixels) -cropleft size 设置左切除尺寸 (in pixels) -cropright size 设置右切除尺寸 (in pixels) -padtop size 设置顶部补齐尺寸(in pixels) -padbottom size 底补齐(in pixels) -padleft size 左补齐(in pixels) -padright size 右补齐(in pixels) -padcolor color 补齐带颜色(000000-FFFFFF) -vn 取消视频 -vcodec codec 强制使用codec编解码方式('' to stream) -sameq 使用同样视频质量作为源(VBR) -pass n 选择处理遍数(1或者2)。两遍编码非常有用。第一遍生成统计信息,第二遍生成精确的请求的码率 -passlogfile file 选择两遍的纪录文件名为file -newvideo 在现在的视频流后面加入新的视频流 高级视频选项 -pix_fmt format set pixel format, 'list' as argument shows all the pixel formats supported -intra 仅适用帧内编码 -qscale q 以<数值>质量为基础的VBR,取值0.01-255,约小质量越好 -loop_input 设置输入流的循环数(目前只对图像有效) -loop_output 设置输出视频的循环数,比如输出gif时设为0表示无限循环 -g int 设置图像组大小 -cutoff int 设置截止频率 -qmin int 设定最小质量 -qmax int 设定最大质量 -qdiff int 量化标度间最大偏差 (VBR) -bf int 使用frames B 帧,支持mpeg1,mpeg2,mpeg4 音频选项: -ab 设置比特率(单位:bit/s,也许老版是kb/s) -aframes number 设置转换多少桢(frame)的音频 -aq quality 设置音频质量 (指定编码) -ar rate 设置音频采样率 (单位:Hz) -ac channels 设置声道数 -an 取消音频 -acodec codec 指定音频编码('' to stream) -vol volume 设置录制音量大小(默认为256) -newaudio 在现在的音频流后面加入新的音频流 字幕选项: -sn 取消字幕 -scodec codec 设置字幕编码('' to stream) -newsubtitle 在当前字幕后新增 -slang code 设置字幕所用的ISO 639编码(3个字母) Audio/Video 抓取选项: -vc channel 设置视频捕获通道(只对DV1394) -tvstd standard 设置电视标准 NTSC PAL(SECAM)
7. ffmpeg.exe的参数
ffmpeg.exe -i F:闪客之家闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:11.flv
ffmpeg -i F: 1.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f: est.flv
使用-ss参数 作用(time_off set the start time offset),可以从指定时间点开始转换任务。如:
转换文件格式的同时抓缩微图:
ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg'
对已有flv抓图:
ffmpeg -i test.flv -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg'
-ss后跟的时间单位为秒
Ffmpeg转换命令
ffmpeg -y -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 -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp
ffmpeg参数设定解说
-bitexact 使用标准比特率
-vcodec xvid 使用xvid压缩
-s 320x240 指定分辨率
-r 29.97 桢速率(可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.97)
画面部分,选其一
-b <比特率> 指定压缩比特率,似乎ffmpeg是自动VBR的,指定了就大概是平均比特率,比如768,1500这样的
就是原来默认项目中有的
-qscale <数值> 以<数值>质量为基础的VBR,取值0.01-255,约小质量越好
-qmin <数值> 设定最小质量,与-qmax(设定最大质量)共用,比如-qmin 10 -qmax 31
-sameq 使用和源同样的质量
声音部分
-acodec aac 设定声音编码
-ac <数值> 设定声道数,1就是单声道,2就是立体声,转换单声道的TVrip可以用1(节省一半容量),高品质
的DVDrip就可以用2
-ar <采样率> 设定声音采样率,PSP只认24000
-ab <比特率> 设定声音比特率,前面-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96,转换
君默认比特率都较小,要听到较高品质声音的话建议设到160kbps(80)以上
-vol <百分比> 设定音量,某些DVDrip的AC3轨音量极小,转换时可以用这个提高音量,比如200就是原来的2倍
这样,要得到一个高画质音质低容量的MP4的话,首先画面最好不要用固定比特率,而用VBR参数让程序自己去
判断,而音质参数可以在原来的基础上提升一点,听起来要舒服很多,也不会太大(看情况调整
例子:ffmpeg -y -i 1.avi -title Test -vcodec xvid -s 368x208 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 1.***
解释:以上命令可以在Dos命令行中输入,也可以创建到批处理文件中运行。不过,前提是:要在ffmpeg所在的目录中执行(转换君所在目录下面的cores子目录)。
参数:
-y(覆盖输出文件,即如果1.***文件已经存在的话,不经提示就覆盖掉了)
-i 1.avi(输入文件是和ffmpeg在同一目录下的1.avi文件,可以自己加路径,改名字)
-title Test(在PSP中显示的影片的标题)
-vcodec xvid(使用XVID编码压缩视频,不能改的)
-s 368x208(输出的分辨率为368x208,注意片源一定要是16:9的不然会变形)
-r 29.97(帧数,一般就用这个吧)
-b 1500(视频数据流量,用-b xxxx的指令则使用固定码率,数字随便改,1500以上没效果;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高)
-acodec aac(音频编码用AAC)
-ac 2(声道数1或2)
-ar 24000(声音的采样频率,好像PSP只能支持24000Hz)
-ab 128(音频数据流量,一般选择32、64、96、128)
-vol 200(200%的音量,自己改)
-f psp(输出psp专用格式)
-muxvb 768(好像是给PSP机器识别的码率,一般选择384、512和768,我改成1500,PSP就说文件损坏了)
1.***(输出文件名,也可以加路径改文件名)
机器强劲的话,可以多开几个批处理文件,让它们并行处理。
E:ffmpeg.exe -i I:1.wmv -b 360 -r 25 -s 320x240 -hq -deinterlace -ab 56 -ar 22050 -ac 1 D:2.flv
8. 如何使用ffmpeg.exe。双击是一闪而过,怎么输入参数啊
1、首先把要分割的视频放到D:aab目录下,路径可以随意更改。
9. FFmpeg怎么批量给视频加水印
批量给视频加水印的方法,支持文字水印和图片水印的批量添加:
步骤1,下载软件工具后安装打开,选择左边的【视频水印】功能后,再点击左上角的【添加文件】按钮,将视频导入到软件中,可以同时添加多个视频批量加水印。