linux音视频,linux下玩转音视频

你不可能从现在预测到未来,只有回头看时,才会发现事物之间的联系。所以你必须相信,那些生命中的点点滴滴,将会在你未来的生命里,以某种方式串联起来。你必须始终相信一些东西——你的勇气、宿命、生活、因缘,随便什么,它们将给你追寻内心真正所想的自信,带你走离平凡,变得与众不同。

今天介绍一个小知识,在linux下用FFmpeg进行音频视频处理。

首先介绍一下FFmpeg,引用百度百科的一段介绍,它是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,并利用libavformat进行音频/视频格式转码。

FFmpeg功能非常强大,包括音视频采集、格式转换、视频截图、视频水印等功能,我们常用的暴风影音、QQ影音、格式工厂等,都用FFmpeg。

FFmpeg官网地址:https://www.ffmpeg.org

FFmpeg github地址:https://github.com/FFmpeg/FFmpeg

FFmpeg目前最新版本为4.0,在CentOS上,6版本通过yum安装的FFmpeg版本为0.6,7版本通过yum安装的版本为2.6,如果想用较新的版本,需要编译安装,今天这里由于不是主要讲FFmpeg,所以不再多讲FFmpeg的安装,想要安装方法的,回复FFmpeg安装方法获取。

这里给大家提供一个Dockerfile,直接用docker来使用FFmpeg。

6f834f98fd17a8e0adace263e4b33e24.png

你没有看错,就是这么简单,这里使用alpine轻量系统,构建后的镜像只有52M

d52c2513f9e684404d4264a37236542f.png

而且可以使用任意你想使用的版本。

这里也不讲Dockerfile和docker相关知识,如果想了解的,可以留言,留言多的话,下次整理。

到这里ffmpeg就可以正常使用了,下面看一下ffmpeg的功能:

获取音视频信息

ffmpeg -i media.mp4

将图片序列合成视频

ffmpeg -f image2 -i image%d.jpg video.mpg

将视频分解成图片序列

ffmpeg -i video.mpg image%d.jpg

从视频抽出声音,并存为mp3

ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3

将wav转换为mp3

ffmpeg -i sound.wav -vn -ar 44100 -ac -2 -ab 192 -f mp3 sound.mp3

将avi转换成mpg

ffmpeg -i video.avi video.mpg

合成视频和音频

ffmpeg -i sound.wav -i video.avi video_finale.mpg

合成多个音频

ffmpeg -i media1.mp3 -i media2.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 media3.mp3

注意:这样合成的音频是会重叠的

音频拼接

ffmpeg -i media1.m4a -i media2.m4a -i media3.m4a -filter_complex '[0:0][1:0][2:0] concat=n=3:v=0:a=1 [a]' -map [a] hechen.mp3"

flv推rtmp流

ffmpeg -re -i test_22m.flv -vcodec copy -acodec copy -f flv -y rtmp://cuplayer:1935/live2/livestream

取视频30帧转换成gif

ffmpeg -i test.avi -vframes 30 -y -f gif a.gif

视频添加boxblur滤镜

ffmpeg  -i  input.mpg  -vf  boxblur=1.5:1  output.mp4

视频添加smartblur滤镜

ffmpeg -i  input.jpg  -vf  smartblur=5:0.8:0  output.png

denoise3d降噪处理

ffmpeg  -i  input.avi  -vf  mp=denoise3d  output.mp4

hqdn3d降噪处理

ffmpeg  -i  input.avi  -vf  hqdn3d  output.mp4

以上是FFmpeg常用功能,还有更多功能,可参考官方文档。

另外需要注意的是FFmpeg在低版本中存在任意文件读取漏洞,通过FFmpeg可将系统重要文件入/etc/passwd等文件内容读取并输出到视频中。使用旧版本的尽快更新到新版本。

NEWS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值