您的位置:首页 > 其它

FFMPEG命令

2015-06-17 19:27 507 查看
极力推荐开发者在PC上安装ffmpeg环境,以便测试ffmpeg命令行,测试 通过后再在手机上测试使用。

如何在PC上配置ffmpeg环境请参照链接

http://zh.wikihow.com/%E5%9C%A8Windows%E4%B8%8A%E5%AE%89%E8%A3%85FFmpeg%E7%A8%8B%E5%BA%8F

windows64下ffmepg环境

http://download.csdn.net/detail/chinawallace/8851045

1.视频叠加水印(建议添加与视频大小一致并且透明的水印,如480x480)

//单水印

ffmpeg -i in.mp4 -i watermark1.png -filter_complex “overlay=x=0:y=0” -f mp4 out.mp4

//动态水印,2张图片间隔200毫秒

ffmpeg -i in.mp4 -i watermark1.png -i watermark2.png -filter_complex “overlay=x= ‘if(eq(floor(mod(t*5,2)),0),0,-500)’:y=0,overlay=x=’if(eq(floor(mod(*5,2)),1),0,-500)’:y=0” -f mp4 out.mp4

//视频叠加gif

ffmpeg -y -i in.mp4 -i in.gif -filter_complex “overlay=0:0” -t 10 -acodec copy out.mp4

2.视频裁剪

//裁剪0秒到10秒视频

ffmpeg -i in.mp4 -ss 0 -t 10 -vcodec copy -acodec copy out.mp4

3.格式转换

//yuv转mp4

ffmpeg -y -f rawvideo -pix_fmt yuv420p -s 480x480 -r 15 -i in.yuv -vcodec libx264 -profile:v baseline -preset ultrafast out.mp4

//静态图片转mp4

ffmpeg -y -loop 1 -f image2 -i Goddess.png -vcodec mpeg4 -r 15 -t 10 Goddess.mp4

//ts转mp4

ffmpeg -y -i in.ts -vcodec copy -acodec copy -vbsf h264_mp4toannexb out.mp4

//mp4转ts

ffmpeg -y -i in.mp4 -vcodec copy -acodec copy -absf aac_adtstoasc -f mp4 -movflags faststart out.ts

//gif转ts

ffmpeg -y -i http://ww4.sinaimg.cn/mw1024/89cfdb1bgw1ek0ig2zx6gg207h05me81.gif -vf “scale=480:-1,pad=480:480:0:240-ih/2” -pix_fmt

yuv420p -vcodec libx264 -vbsf h264_mp4toannexb 0.ts

可以先将多个gif先转成ts,然后用-i “concat:0.ts|1.ts”合并,注意 转出来的视频是不带音频的,这个需要自己加一个空音频或者音乐,否则可能无 法播放该视频。pad参数可以让视频上下留黑,类似电影的效果。

ffmpeg -i “concat:F:\text.ts|F:\frame.ts” -vcodec copy -acodec copy -absf aac_adtstoasc -f mp4 -movflags faststart F:\test.mp4

4.其他

//加速视频

ffmpeg -i input.avi -vf “setpts=0.5*PTS” output.avi

//放慢视频

ffmpeg -i input.avi -vf “setpts=2.0*PTS” output.avi

//删除视频文件的旋转信息

-metadata:s:v rotate=\”\”

//提取视频的 yuv 和 pcm 数据

ffmpeg -i in.mp4 -ss 0 -t 10 -vn -acodec pcm_s16le -f s16le -ar 44100 -ac 1 a.pcm -ss 0 -t 10 -an -vcodec rawvideo -f rawvideo -s 640x480 -pix_fmt nv21 a.yuv

//下载视频

ffmpeg -y -i “http://xxx.xxx.com/test.mp4” -vcodec copy -acodec copy out.mp4 还可以加-ss -t 参数截取视频,如果无法 copy,可以重新转码 -vcodec libx264 -profile:v main -acodec libfdk_aac -ar 44100 -ac 1 -b:a 64k

//转码参数

-profile:v

baseline

-preset

ultrafast

加这个转码速度快但质量差

-profile:v

main

加这个转码速度慢但质量很好

5.注意

a) 如果查看ffmpeg执行的log

加-d stdout -loglevel verbose 即可在 logcat 中看到执行的命令行输出, 例如:ffmpeg -d stdout -loglevel verbose -i in.mp4 -ss 0 -t 10 -vcodec copy -acodec copy out.mp4

b) 没有生成输出文件的问题

注意检测AndroidManifest.xml是否漏了写磁盘的权限。

注意ffmpeg的log输出,一般会给出错误提示。

注意文件是否已经生成,需要删除或者加‐y参数。

注意相册里不会马上显示新生成的视频,除非你手动向系统相册新增记 录

去除视频的logo可用这个软件

http://jingyan.baidu.com/article/84b4f565ce77fd60f6da32df.html

更多ffmpeg命令参照

/article/9709808.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: