ffmpeg 命令,录屏,播放,提取视频 yuv,提取音频 pcm,滤镜命令,裁剪与合并命令,图片和视频互转命令

ffmpeg 命令,录屏,播放,提取视频 yuv,提取音频 pcm,滤镜命令,裁剪与合并命令,图片和视频互转命令

ffmpeg 命令总结

1.录屏

1.1 在 macOS 下查看设备

ffmpeg -f avfoundation -list_devices true -i ""

输出 :

ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[AVFoundation input device @ 0x7f8698d041c0] AVFoundation video devices:
[AVFoundation input device @ 0x7f8698d041c0] [0] FaceTime HD Camera
[AVFoundation input device @ 0x7f8698d041c0] [1] Capture screen 0
[AVFoundation input device @ 0x7f8698d041c0] [2] Capture screen 1
[AVFoundation input device @ 0x7f8698d041c0] AVFoundation audio devices:

可以看到 video devices :

[AVFoundation input device @ 0x7f8698d041c0] AVFoundation video devices:
[AVFoundation input device @ 0x7f8698d041c0] [0] FaceTime HD Camera
[AVFoundation input device @ 0x7f8698d041c0] [1] Capture screen 0
[AVFoundation input device @ 0x7f8698d041c0] [2] Capture screen 1
[AVFoundation input device @ 0x7f8698d041c0] AVFoundation audio devices:

1.2 录屏命令

ffmpeg -f avfoundation -i 1 -r 30 screen.yuv

2.播放录制的文件

ffplay -s 2880x1800 -pix_fmt uyvy422 screen.yuv

或者

ffplay -video_size 2880x1800 -pixel_format uyvy422 screen.yuv

3.ffmpeg 提取 yuv 数据

ffmpeg -i out.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv

-an:不要音频

-c:v:对视频进行编码,使用 rawvideo 原始视频进行编码

-pix_fmt:像素格式,yuv420p

播放 yuv 视频 : ffplay -video_size 3360x2100 out.yuv

4.ffmpeg 提取 pcm 数据

4.1 提取 pcm 数据

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

    -ar:音频的采样率 44100
    
    -ac2:双声道
    
    -f : 音频的数据存储格式 
    
    s16le : s 代表 有符号的,有正有负,16 代表每一个数值用16位表示 
    
4.2 播放 pcm 数据

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

5 滤镜命令

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

-vf: 视频滤镜 
crop=in_w-200:in_h-200 :
in_w:本身视频的宽度-200
in_h:本身视频的高度-200

-c:v:视频的编码

6 裁剪和合并命令

6.1 裁剪

ffmpeg -i 1.mp4 -ss 00:00:02 -t 3 out.ts

-ss : 视频的其实时间

-t : 时长
6.2 合并

ffmpeg -f concat -i input.txt put.mp4

-f concat : 告诉 ffmpeg 将后面的文件合并到一起

input.txt : 要合并的列表
file '1.ts'
file '2.ts'

7 图片与视频互转命令

7.1 视频转图片

ffmpeg -i 1.mp4 -r 1 -f image2 image-%3d.jpeg

-r 1 :帧率,每秒钟转出一张图片

-f : 将输入文件 转成 image2
7.2 图片转视频

ffmpeg -f image2 -i image-%3d.jpeg -vcodec libx264 image.mp4

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

推荐阅读更多精彩内容

  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 4,787评论 0 3
  • 0 概述 FFmpeg是一套领先的音视频多媒体处理开源框架,采用LGPL或GPL许可证。它提供了对音视频的采集、编...
    但行耕者阅读 6,954评论 0 19
  • 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_fi...
    XLAccount阅读 3,095评论 0 8
  • 写在前面: 今天往移动硬盘上拷电影的时候忽然遇见文件过大无法拷贝的问题。因为一个移动硬盘如果分区为NTFS格式,那...
    vincentgemini阅读 14,398评论 0 9
  • 我从小爱生病,生到青年期做了个颇大的手术,然后继续小病不断,绵延至中年,微胖后病疏了,不象前面的那段光景,每月都去...
    自在的絮叨阅读 398评论 0 1