首页 > 其他分享 >ffmpeg 工具及命令介绍

ffmpeg 工具及命令介绍

时间:2024-02-23 15:36:47浏览次数:25  
标签:编码器 ffmpeg 音频 命令 mp4 acodec 工具 copy out

ffprobe工具介绍

  1. 查看帮助信息:ffprobe --help

    使用方式:ffprobe [OPTIONS] [INPUT_FILE]

  2. 查看多媒体数据包:

    ffprobe -show_packets output.mp4

    ffprobe -show_packets -show_data output.mp4

  3. 查看封装格式:ffprobe -show_format output.mp4

  4. 查看视频文件的帧信息:ffprobe -show_frames output.mp4

  5. 查看视频文件的流信息:ffprobe -show_streams output.mp4

  6. 格式化显示:

    ffprobe -of json -show_format output.mp4

    ffprobe -print_format csv -show_packets output.mp4 > outmp4.csv

    Windows下使用Elecard StreamEyes 查看MP4视频文件


ffplay工具介绍

  1. 查看帮助信息:ffplay --help

    使用方法:ffplay [options] input_file

  2. 播放本地流:ffplay -window_title "TestPlay" output.mp4

  3. 播放网络流:ffplay http://220.161.87.62:8800/hls/1/index.m3u8

  4. 使用示例:

    ffplay -x 1024 -y 768 -an output.mp4

    -x 1024 # 将播放宽度设置为 1024
    -y 768 # 将播放高度设置为 768
    -an # an = audio null 设置为静音播放
    

    ffplay -ss 10 -t 5 -fs -loop 2 output.mp4

    -ss  # 播放的开始时间
    -t # 播放的持续时长
    -fs # 全屏
    -loop # 指定循环次数
    

    ffplay -f rawvideo -video_size 320x240 320x240_video.yuv

    -f  # 指定视频格式  rawvideo 原始数据
    -video_size  # 设置视频的大小
    

    Windows 下使用 YUVPlayer-Deluxe 查看YUV 文件


分解/复用命令

  1. 处理流程

     _______              ______________            ________
    |       |            |              |          |        |
    | input |  demuxer   | encoded data |  muxer   | output |
    | file  | ---------> | packets      | -------> | file   |
    |_______|            |______________|          |________|
    
    
  2. 处理命令

    • mp4 转 avi:

      ffmpeg -i input.mp4 -vcodec copy -acodec copy out.avi

      -i # 输入文件
      -vcodec  # 设置视频编码器,也用作 -codec:v ('copy' 拷贝原视频编码方式)
      -acodec  # 设置音频编码器,也用作 -codec:a ('copy' 拷贝原音频编码方式)
      
    • 提取音频:

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

      -c:a  # 设置音频编码器,与-acodec一致
      -vn # video null 禁用视频
      
    • 提取视频:

      ffmpeg -i input.mp4 -an -c:v copy out.h264

      -c:v  # 设置视频编码器,与-acodec一致
      -an # audio null 禁用音频
      
    • 封装音视频:

      ffmpeg -i out.aac -i out.h264 -acodec copy -vcodec copy -f mp4 new.mp4

      ffmpeg -i out.aac -i out.h264 -c copy -f mp4 new.mp4

      -i # 输入文件
      -acodec  # 设置音频编码器,也用作 -codec:a ('copy' 拷贝原音频编码方式)
      -vcodec  # 设置视频编码器,也用作 -codec:v ('copy' 拷贝原视频编码方式)
      -f # 指定合成格式
      
  3. 编码 / 解码命令

    • 提取 YUV 数据:

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

      -pix_fmt  # 设置像素格式 
      -c:v  # 设置视频编码器,与-acodec一致  rawvideo 原始数据
      

      播放 out.yuv:

      ffplay -video_size 1280x720 out.yuv

      -video_size  # 指定视频的大小
      
    • 提取PCM数据:

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

      -i # 输入文件
      -vn # video null 禁用视频
      -ar # 设置音频采样率
      -ac # 设置音频通道数目
      -f # 指定pcm文件数据格式 s16le 有符号16位的小端数据
      

      播放PCM数据:

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

      -ar # 设置音频采样率
      -ac # 设置音频通道数目
      -f # 指定pcm文件数据格式 s16le 有符号16位的小端数据
      
    • 使用 h264 编码压缩 YUV 数据:

      ffmpeg -video_size 1280x720 -i out.yuv -vcodec h264 out.h264

      -video_size # 指定视频的大小
      -i # 输入文件
      -vcodec  # 设置视频编码器,也用作 -codec:v ('copy' 拷贝原视频编码方式)
      
    • 使用 fdk_aac 编码压缩 PCM 数据:

      ffmpeg -ar 44100 -ac 2 -f s16le -i out.pcm -acodec libfdk_aac out.aac

      -ar # 设置音频采样率
      -ac # 设置音频通道数目
      -f # 指定pcm文件数据格式 s16le 小端格式
      -i # 输入文件
      -acodec  # 设置音频编码器,也用作 -codec:a ('copy' 拷贝原音频编码方式)
      
  4. 裁剪 / 合并命令

    • 裁剪:

      ffmpeg -ss 00:00:00 -t 10 -i input.mp4 -vcodec copy -acodec copy 1.ts

      -ss position # 跳转到输入文件的position位置,可以是秒数或者hh:mm:ss形式
      -t duraion # 读取到文件的duration位置,可以是秒数或者hh:mm:ss形式
      -acodec  # 设置音频编码器,也用作 -codec:a ('copy' 拷贝原音频编码方式)
      -vcodec  # 设置视频编码器,也用作 -codec:v ('copy' 拷贝原视频编码方式)
      

      ffmpeg -ss 00:00:10 -t 8 -i input.mp4 -vcodec h264 -acodec libfdk_aac 2.ts

      -ss position # 跳转到输入文件的position位置,可以是秒数或者hh:mm:ss形式
      -t duraion # 读取到文件的duration位置,可以是秒数或者hh:mm:ss形式
      -acodec  # 设置音频编码器,也用作 -codec:a (以'h264'编码方式)
      -vcodec  # 设置视频编码器,也用作 -codec:v (以'libfdk_aac'编码方式)
      
    • 合并input.txt的视频文件列表

      ffmpeg -f concat -i input.txt -vcodec copy -acodec copy new.ts

      # input.txt格式:
      file '1.ts'
      file '2.ts'
      
      -f # 指定合并命令
      -i # 输入文件
      -acodec  # 设置音频编码器,也用作 -codec:a ('copy' 拷贝原音频编码方式)
      -vcodec  # 设置视频编码器,也用作 -codec:v ('copy' 拷贝原视频编码方式)
      

标签:编码器,ffmpeg,音频,命令,mp4,acodec,工具,copy,out
From: https://www.cnblogs.com/LittleBai/p/18029626

相关文章

  • 标尺工具
    思路使用样条线和文本渲染组件进行制作演示步骤1.修改样条线类型2.创建文本框3.编写逻辑......
  • 计时器工具
    思路制作一个计时器蓝图,放到关卡中实例化后使用关卡蓝图调用展示步骤1.计时器蓝图2.关卡蓝图调用......
  • 随机旋转岩石工具
    思路:制作一个石头模型并对其碰撞进行自动凸包,放入蓝图中,通过蓝图中的构造脚本进行随机旋转,即可实现石块放置时的旋转效果;演示操作1.创建石头模型使用BSP工具进行顶点编辑添加材质后转成静态网格体对模型进行自动凸包碰撞2.蓝图中控制石块的随机旋转和缩放为了方便控制缩......
  • 让 K8s 更简单!8款你不得不知的 AI 工具-Part 2
    在part1中,我们探讨了目前比较流行的四种OpenAI开源工具。在今天的part2中我们将探究另外三种不同的OpenAI开源工具并介绍一些与Appilot相关的内容。 Kubectl-GPTKubectl-GPT是一个kubectl插件,可使用GPT模型从自然语言输入生成kubectl命令。该插件引入了ku......
  • 盘点几款好用的测试工具
    俗话说,工欲善其事必先利其器。要做出高效的测试当然离不开工具,有了工具如鱼得水。下面介绍几款好用的软件测试常用的工具:1.Loadrunner——性能测试工具:是一种预测系统行为和性能的[负载]测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunn......
  • docker常用命令
    docker教程1镜像相关1.1查看镜像列表sudodockerimages1.2镜像搜索比如搜索ubuntu基础镜像sudodockersearchubuntu可输出官方的镜像名称,以及star数量,选择一个需要的镜像下拉即可1.3下拉镜像sudodockerpull镜像名sudodockerpull镜像名:Tag1.4查看镜......
  • 修改linux终端命令行各字体颜色
    1.了解PS1PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。在终端输入命令: echo$PS1     PS1的常用参数以及含义:\d:代表日期,格式为weekdaymonthdate,例如:"MonAug1"\H:完整的主机名称\h:仅取主机名中的第一个名字\t:......
  • Jenkins构建提示docker命令权限问题解决方法
    参考:https://zhuanlan.zhihu.com/p/568513293使用Jenkins构建时使用的用户为jenkins在使用docker命令时会报以下错误ERROR:permissiondeniedwhiletryingtoconnecttotheDockerdaemonsocketatunix:///var/run/docker.sock:Get"http://%2Fvar%2Frun%2Fdocker.soc......
  • docker 常用命令 快捷命令
    一、查询节点dockerps-a二、docker重启停止systemctlrestartdockersystemctlstopdockerdockerrestart*三、一键构建数据库mongodockerrun-it-v/datavolumn/mongo:/data/db/mongo--restart=always-p27017:27017--namemongodb-dmongo:4.4.19re......
  • 持续集成工具Jenkins
    1从装修厨房看项目开发效率优化1.1持续部署装修厨房全部装好之后发现灯不亮,电路有问题;冷热水装反了,管路有问题。这些问题要解决就必须把地砖、墙砖拆掉——一个环节有问题,其他环节跟着返工。那怎么做会好一些呢?任何安装完成及时测试,确保其可以正常工作。项目......