ffmpeg 格式转换和添加滤镜

格式转换

1、多媒体格式转换

    ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv

2、抽取视屏命令

    ffmpeg -i laien.mp4 -an -vcodec copy video.h264

3、抽取音频命令

    ffmpeg -i fftest.mp4 -acodec copy -vn audio.aac

    ffmpeg -i fftest.mp4 -vcodec copy -an fftest.h264

提取pcm

ffmpeg -i  fftest.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm

(-vn :不要视频,-ar44100: 音频采样率44.1k,-ac2: 双声道,-f s16le :f存储格式 s符号16 十六进制 le小端存储

,)

播放pcm

ffplay -ar 44100 -ac 2 -f s16le out.pcm


添加滤镜

FFmpeg 滤镜命令

视频裁剪

ffmpeg -i fftest.mp4 -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy  fftest1.mp4

(-vf :视频滤镜  ,crop :裁剪,in_w-200:宽度-200,in_h-200:高度-200,- c:v lib264:视频编码器 lib264,-c:a copy 音频不做处理直接copy)

crop 格式 crop=out_w:out_h:x:y x与y不指定默认中心点为基准

加水印滤镜

ffmpeg -i fftest.mp4 -vf drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello wolrd':x=(w-text_w)/2:y=(h-text_h)/2" fftest2.mp4

------------------------------------------

学习的时候看到别人的问答,有点启发


为什么加水印之后变模糊了.

源文件是overwatch.flv

通过ffmpeg -i overwatch.flv -c:v copy -c:a copy ./overwatch.mp4

获得overwatch.mp4

之后分别对两个文件加水印,

#ow_overlay.mp4

ffmpeg -i overwatch.mp4 -vf "movie=ffmpeg_150px.png[wm]; [in][wm]overlay=100:100[out]" ./ow_overlay.mp4

#ow_overlay.flv

ffmpeg -i overwatch.flv -vf "movie=ffmpeg_150px.png[wm]; [in][wm]overlay=100:100[out]" ./ow_overlay.flv

flv变糊了

老师答:

对于给图片加水印,我们首先解理其背后的原理是ffmpeg 需要将原来的视频进行解码,然后加水印,然后再编码这样一个过程。

那么为什么会出现 .flv加了水印之后,会变模糊呢?

首先,你可用ffplay播放一下原始视频和加了水印的视频,看看每个视频 meta 信息是不是发生了变化。如分变率,码率,帧率这些是重点关注的信息。

第二,为什么图像会变模糊呢?一般情况下有两种原因:其一是码率降低了,也就是视频存的数据少了。按 h264的压缩原理,当数据变少时,它会损失原来的图像信息。其二是分变率变小了,当你观看时,将小的图像变大时,就会看到模糊的现像。

所以,你通过ffplay看一下后台的 meta 信息就可以知道答案了,

你可以通过下面的命令看一下是否能做出与 mp4一样的效果来:

ffmpeg -i overwatch.flv -c:v libx264 -preset veryslow -c:a copy -vf "movie=ffmpeg_150px.png[wm];[in][wm] overlay=100:100[out]" ow_overlay.flv

preset 就是预设参数。ffmpeg对于视频编码预先设置了几个。分为 ultrafast, fast, slow, veryslow......, 其中编码越快,对质理的损耗最大,编码越慢对视频质量的损耗超小。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供的工具...
    小村医阅读 3,970评论 0 3
  • 前言 FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供...
    劉小乙阅读 630评论 0 0
  • 命令分类 基本信息查询命令录制分解/复用(包括文件格式的转换等等)处理原始数据滤镜(包括logo,翻转等)切割与合...
    IsGirl阅读 2,403评论 0 0
  • [TOC] 基本知识FFmpeg 资源网站音视频流容器声道命令种类处理流程 下载 目录结构 模块列表显示所有可用的...
    Afra55阅读 1,368评论 0 1
  • FFMPEG 目录及作用 libavcodec: 提供了一系列编码器的实现。 libavformat: 实现在流协...
    Mr_banzhuan阅读 292评论 0 0