为了账号安全,请及时绑定邮箱和手机立即绑定
  • 小结

    • 音视频流的分离开与合并

    • 多媒体文件的裁剪与拼接

    • 多媒体格式互转

    • FFmpeg filter

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

    avfilter

    • 视频画中画

    • 音频混音/视频混屏

    • 视频转场

    • 增加/删除水印

    • 音视频倍速播放

    学习音视频的难点

    • 基础不牢地动山摇

    • I/P/B帧,GOP

    • 采样率,采样大小,通道数

    • 以上这些是学习音视频的必由之路

    音视频重要的库

    • FFmpeg 音视频必须的库

    • WebRTC 网络传输


    音视频的未来

    • 音视频开发特别有意思

    • 具有广阔的未来

    与人工智能会紧密结合

    查看全部
    0 采集 收起 来源:课程总结

    2021-05-04

  • ffmpeg -i new_5.mp4 -i new_5.mp4 -filter_complex "[0:a][1:a]amix=inputs=2:duration=shortest:weights='0.1 0.9'" amixer.aac

    查看全部
    0 采集 收起 来源:音频混音

    2021-05-04


  •  视频速度加倍

    ffplay -i h.mp4 -an -vf "setpts=PTS*0.5"

    音频速度加倍

    ffplay -i h.mp4 -vn -af "atempo=2.0"

    音频速度减半

    ffplay -i h.mp4 -vn -af "atempo=0.5"


    音视频同步增速

    ffmpeg -i h.mp4 -filter_complex "[0:v]setpts=PTS*0.5[vo];[0:a]atempo=2.0[ao]" -map "[vo]" -map "[ao]" speed2.mp4

    查看全部
  • 前提条件:把各个视频的分辨率搞成一样的

    ffmpeg -i new_5.mp4 -i new_5.mp4 -i new_5.mp4 -filter_complex "[0:v]fade=t=out:st=18:d=3[v0];[1:v]fade=t=in:st=0:d=3[tmp];[tmp]fade=t=out:st=18:d=3[v1];[2:v]fade=t=in:st=0:d=3[v2];[v0][v1][v2]concat=n=3:v=1:a=0[vo];[0:a][1:a][2:a]concat=n=3:v=0:a=1[ao]" -map "[vo]" -map "[ao]"   r.mp4

       三个多媒体文件的渐进渐出

    查看全部
    0 采集 收起 来源:视频转场

    2021-05-04

  • 四个视频合在一起的命令

    ffmpeg -i new_5.mp4 -i  new_5.mp4 -i new_5.mp4 -i new_5.mp4 -filter_complex "nullsrc=size=640*480[base];[0:v]setpts=PTS-STARTPTS,scale=320:240[a];[1:v]setpts=PTS-STARTPTS,scale=320:240[b];[2:v]setpts=PTS-STARTPTS,scale=320:240[c];[3:v]setpts=PTS-STARTPTS,scale=320:240[d];[base][a]overlay=shortest=1[tmp1];[tmp1][b]overlay=shortest=1:x=320[tmp2];[tmp2][c]overlay=shortest=1:y=240[tmp3];[tmp3][d]overlay=shortest=1:x=320:y=240" new.mp4

     

    查看全部
    0 采集 收起 来源:视频混屏

    2021-05-04

  • 实现画中画

    ffmpeg -i killer_d.mp4 -i video.mpt -fliter_complex "[1:v]scale=160:90[out];[0:v][out]overlay=W-w-30:10" new.mp4

    1代表第2个输入,v代表视频部分

    查看全部
    0 采集 收起 来源:实现画中画

    2021-05-03

  • FFmpeg滤镜种类

    • 简单滤镜 -vf

    • 复杂滤镜 -filter_complex

    Overlay滤镜

    • 最常使用的滤镜

    • 以第一个输入为背景,后面的叠加到背景上

    滤镜描述符规则

    • 逗号表示前一个输出是后一个输入

    • 分号表示两个滤镜是并列关系 

    • 冒号用于区分不同的参数

    例子

    • 直接播放

    ffplay -i new_5.mp4 -vf "movie=1.jpeg,scale=64:48[water];[in][water]overlay=30:10"

    movie是一个关键字, water代表水印,in代表背景,离左边30像素,离上面10个像素。

    • 先转换成文件,再播放文件

    ffmpeg -i new_5.mp4 -vf "movie=1.jpeg,scale=64:48[water];[in][water]overlay=30:10" video_w.mp4

    ffplay video_w.mp4

    查看全部
    0 采集 收起 来源:给视频打水印

    2021-04-26

  • ffmpeg -f image2  -r 1 -i i-%03d.jpg -r 1 video.mp4

    -f:指图片格式,一般为image2或image1

    ffprobe output-003.jpg

    转换图片为相同大小,再把图片转换为视频

    l

    ffmpeg -f image2 -r 2  -i i-%03d.jpg -r 24 video3.mp4

    ffprobe video3.mp4

    如果每秒输入两张,如果已存在20张图片,那么就会变为10s的视频。24fps, 每秒采用12张图片。

    查看全部
  • 视频生成图片

    ffmpeg -i new_5.mp4 -r 1 -f image2 output-%03d.jpg

    生成缩略图

    ffmpeg -i new_5.mp4 -r 1 -s 160*90 -f image2 output-%03d.jpg

    查看图片

    open output-001.jpg

    每秒生成0.5帧,即两秒生成一帧

    ffmpeg -i new_5.mp4 -r 0.5 -s 160*90 -f image2 output-%03d.jpg

    查看全部
  • 音视频裁剪

    理论基础

    • I帧

    • P帧

    相对于前一帧的增量,依赖I帧

    • B帧

    相对于前面的I帧和后面的P帧,。。。依赖I帧和P帧

    裁剪方式:

    • 第一种:

    重新解码编码来进行裁剪

    • 第二种:

    在原有的data上直接定位到某一点,然后把数据拿出来

    裁剪时如果不幸定位到B帧上了,就找前一个I帧和后一个I帧开始

    裁剪命令

    • ffmpeg -ss 00:00:00 -t 10 10 -i test.mp4 new_3.mp4 修饰输入文件在没有处理的时候怎么做

    • 一般从第一秒开始都没有问题,因为一般都是从I帧开始的

    • ffmpeg -i test.mp4  -ss 00:00:00 -t 10 10 new_5.mp4 修饰的是输出文件

    • 想裁剪得更准确,一般先解码再重新编码会好点

    GOP

    GOP即Group of picture(图像组)

    查看全部
    0 采集 收起 来源:音视频裁剪

    2021-04-24

  • 媒体格式互转

    • MP4转FLV

      ffmpeg -i test.mp4 testflv.flv

      ffplay testflv.flv  会比原视频更模糊,如果不加copy,它采用的策略是向比较小的码率去转化

      ffmpeg -i test.mp4 -c copy testflv2.flv

      ffplay testflv2.flv 相当于复制一次源文件 

    • FLV转TS

           ffmpeg -i test.mp4 -c copy testflv2.ts

    • MP4转MOV

      ffmpeg -i test.mp4 -c copy testflv2.mov

      ffmpeg 一般把高清的转化为低清的,一般不能把低清的转变为高清的,当然通过一些算法来实现的方式就另说了


    查看全部
  • 抽取视频流

    ffmpeg -i  out.mp4 -an -c:v copy new.mp4

    ffplay new.mp4

    抽取音频流

    ffmpeg -i out.mp4 -vn -c:a copy out.aac

    ffplay out.aac

    查看一个音视频属性

    ffprobe out.mp4

    查看全部
  • 抽取音视频流

    • 多媒体文件


    • 音视频轨



    查看全部
  • 安装Ffmpeg的方式

    • 命令安装

      mac:  brew install ffmpeg

      unbuntu: apt install ffmpeg

    • 源码安装

      方法详见:http://avdancedu.com

    查看全部
    0 采集 收起 来源:FFmpeg环境搭建

    2021-04-24

  • ffmpeg

    • 音视频编辑 

    • 播放器

    • 音视频转码

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

    WebRTC

    • 音视频实时通信

    • 3A处理

    • 网络传输质量

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

    Ffmpeg与WebRTC比较

    • Ffmpeg是基础,webRTC也使用它

    • Ffmpeg更多的用于音视频编辑与播放器

    • WebRTC更多的用于音视频实时通信

    查看全部
  • 破热热给
    查看全部
  • 命令安装

    查看全部
    0 采集 收起 来源:FFmpeg环境搭建

    2021-03-02

  • 重新编解码裁剪

    时间参数放在前面,是对没有编解码的文件设定的。

    ffmpeg -ss 00:00:00 -t 10 -i output.mp4 new_3.mp4

    时间参数放在后面是对解码后的数据按时间剪裁,更为准确

    ffmpeg -i output.mp4 -ss 00:00:05 -t 10 new_4.mp4


    不重新编解码裁剪

    ffmpeg -i output.mp4 -ss 00:00:05 -t 10 -c copy new_4.mp4

    查看全部
    0 采集 收起 来源:音视频裁剪

    2020-12-07

  • 裁剪音视频

    I帧:表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)。又称为内部画面 (intra picture),I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象

    P帧:即Predictive-coded Picture(前向预测编码图像帧)。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)

    B帧:即Bidirectionally predicted picture(双向预测编码图像帧)。B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别,换言之,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累。


    查看全部
    0 采集 收起 来源:音视频裁剪

    2020-12-07

  • 多媒体格式转换

    MP4--->FLV

    ffmpeg -i output.mp4 output.flv

    不对文件里面的视频和音频内容更改,直接拷贝,速度快,只是将文件的外衣mp4改为flv而已

    ffmpeg -i output.mp4 -c copy output.flv

    查看全部
  • 音频与视频合流:

    ffmpeg -i new.mp4 -i happy.aac new_1.mp4

    此时如果音频和视频的时长不一致,比如视频时长短,则视频停留最后一帧,音频继续播放,反之亦然。

    为了视频和音频同时同时停止,需要加入shortest参数

    ffmpeg -i new.mp4 -i happy.aac -shortest new_1.mp4

    即合并后的时长等于音频与视频中时长较短的保持一致。

    查看全部
  • 提取音频命令:

    ffmpeg -i output.mp4 -vn -c:a copy output.aac

    -i 表示input输入

    -vn v表示video n表示no 不要视频

    -ca 对音频编码

    copy 不对编码器处理,直接拷贝

    命令完整的含义:对输入的output.mp4 文件进行操作,不要视频,对音频的数据不做修改,直接拷贝输出到output.aac文件中。

    查看文件信息:

    ffprobe output.mp4

    播放文件:

    ffplay output.aac

    同理提取视频命令:

    ffmpeg -i output.mp4 -an -c:v copy new.mp4

    ffplay new.mp4

    查看全部
  • ffmpeg与WebRTC的比较

    查看全部
  • WebRTC的主要用途:

    音视频实时通信

    3A处理(混音消除、降噪、自动增益)

    网络传输质量(一系列解决方案)

    查看全部
  • ffmpeg的主要用途

    查看全部
首页上一页12下一页尾页

举报

0/150
提交
取消
¥68.00
立即购买
课程须知
学习本课程建议小伙伴们具备一定的Linux基础。
老师告诉你能学到什么?
1、音视频流的分离与合并; 2、不同多媒体格式的互转; 3、多媒体文件的裁剪与拼接; 4、图片与视频的互转; 5、音视频特效处理。
加群二维码
  • 慕课前沿核心用户群
  • 群号:729941811
  • 付费用户专享
  • 技术学习型社群

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!