场景
前几天公司的人去北京参加一个视频搜索的比赛,然后发回来组委对数据处理的要求
画中画
1
2
3
4
5
6
7
8
9
10
11
12ffmpeg -y -i o_oC.mp4 -i y1.MP4 \
-strict experimental \
-filter_complex \
"[1:a] atrim=15:30,adelay=5000|5000 [a1]; \
[0:a][a1] amix [outa]; \
[1:v] scale=120:-1,setpts=PTS-(10/TB) [1v]; \
[0:v][1v] overlay=x=250:y=250:enable='between(t,5,200)'[outv]" \
-map "[outv]" -map "[outa]" \
-c:a aac -c:v libx264 \
-b:v 1000k \
-r 24 \
output.mp4视频增加中图片
1
2
3
4ffmpeg -i y1.MP4 -i image.jpg \
-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,2)'" \
-pix_fmt yuv420p -c:a copy \
addImage.mp4
可以通过修改between达到插入一段时间或者1秒,scale可以用来控制插入前后的比例。overlay的x,y分别是距离左上角的偏移量。-strict experimental和-strict -2的效果相同,但必须紧跟在-i选项之后,否则报错。
视频压缩
ffmpeg -i y2.MP4 -acodec mp2 --psnr 1 compress.mp4
之前对官网做性能优化的时候,把mp4转webm也能降低视频大小,但是视频压缩并不一定降低视频大小。Gamma变换
ffmpeg -i y1.MP4 -strict -2 -vf "eq=gamma=0.5" gammaChange.mp4
增加白噪音
ffmpeg -i y7.MP4 -strict -2 -filter_complex "aevalsrc=-2+random(0)" noise.mp4
丢帧
avconv -r 24 -i src.mov -an -vf fps=fps=12 output.mov
增加字幕
ffmpeg -i y1.MP4 -f srt -i a.srt -c:v copy -c:a copy -c:s mov_text addSrt.mp4
Reference Cut picture in Video
ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4
- 取3,5秒的视屏转化为gif图片
ffmpeg -v warning -ss 3 -t 5 -i input.wmv -vf scale=3000:-1 -gifflags +transdiff -y sample.gif
Other
下面链接所附,只做参考,部分命令不能使用。以上所有列出代码,均自己使用过的。PS:总是说有时间有时间,其实,我不知道啊。。啊,我的毕设毕设。还有我给你定的拖拉那么多的事情。