ffmpeg常用基本命令(转)

2023-05-16

#ffmpeg -f s16le -ar 16000 -ac 2 -i lucy_16k.pcm output.wav
#ffmpeg -f s16le -ar 48000 -ac 2 -i lucy_48k.pcm output_48k.wav
#ffmpeg -y -i lucy_16k.wav -acodec pcm_s16le -ac 2 -ar 48000 lucy_48k.wav 
#ffmpeg -y -i 48k.wav -acodec pcm_s16le -ac 2 -ar 16000 16k.wav 
#ffmpeg -y -i 48k.wav -acodec pcm_s16le -ac 2 -ar 32000 32k.wav 
#ffmpeg -y -i 48k.wav -acodec pcm_s16le -ac 2 -ar 44100 44k.wav 
#ffmpeg -y -i 48k.wav -acodec pcm_s16le -ac 2 -ar 8000 8k.wav 
#ffmpeg -f s32le -ar 96000 -ac 2 -i 64_96000.pcm 64_96000.wav

#ffmpeg -y -i sin.wav -acodec pcm_s32le -ac 2 -ar 44100 sin2.wav  

 ffmpeg -y -i 1.wav -ss 20  -t 19  -acodec pcm_s32le -f s32le -ac 2 -ar 44100 44k_32.wav

(622条消息) FFmpeg入门详解之9:Audacity音频工具_ffmpeg for audacity_福优学苑@音视频+流媒体的博客-CSDN博客

1.分离视频音频流


ffmpeg -i input_file -vcodec copy -an output_file_video  //分离视频流
ffmpeg -i input_file -acodec copy -vn output_file_audio  //分离音频流  

2.视频解复用


ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264
ffmpeg –i test.avi –vcodec copy –an –f m4v test.264  

3.视频转码


ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –f m4v test.264              //转码为码流原始文件
ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264  //转码为码流原始文件
ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi            //转码为封装文件
//-bf B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制  

4.视频封装


ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file  

5.视频剪切


ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg        //提取图片
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi    //剪切视频
//-r 提取图像的频率,-ss 开始时间,-t 持续时间  

6.视频录制


ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi  

7.YUV序列播放


ffplay -f rawvideo -video_size 1920x1080 input.yuv  

8.YUV序列转AVI


ffmpeg –s w*h –pix_fmt yuv420p –i input.yuv –vcodec mpeg4 output.avi  

常用参数说明:

主要参数: -i 设定输入流 -f 设定输出格式 -ss 开始时间 视频参数: -b 设定视频流量,默认为200Kbit/s -r 设定帧速率,默认为25 -s 设定画面的宽与高 -aspect 设定画面的比例 -vn 不处理视频 -vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器 音频参数: -ar 设定采样率 -ac 设定声音的Channel数 -acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器 -an 不处理音频

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

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

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

0.压缩转码mp4文件

ffmpeg -i input.avi -s 640x480 output.avi

ffmpeg -i input.avi -strict -2 -s vga output.avi

1、将文件当做直播送至live

ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName

2、将直播媒体保存至本地文件

ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

3、将其中一个直播流,视频改用h264压缩,音频不变,送至另外一个直播服务流

ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv rtmp://server/live/h264Stream

4、将其中一个直播流,视频改用h264压缩,音频改用faac压缩,送至另外一个直播服务流

ffmpeg -i rtmp://server/live/originalStream -c:a libfaac -ar 44100 -ab 48k -c:v libx264 -vpre slow -vpre baseline -f flv rtmp://server/live/h264Stream

5、将其中一个直播流,视频不变,音频改用faac压缩,送至另外一个直播服务流

ffmpeg -i rtmp://server/live/originalStream -acodec libfaac -ar 44100 -ab 48k -vcodec copy -f flv rtmp://server/live/h264_AAC_Stream

6、将一个高清流,复制为几个不同视频清晰度的流重新发布,其中音频不变

ffmpeg -re -i rtmp://server/live/high_FMLE_stream -acodec copy -vcodec x264lib -s 640×360 -b 500k -vpre medium -vpre baseline rtmp://server/live/baseline_500k -acodec copy -vcodec x264lib -s 480×272 -b 300k -vpre medium -vpre baseline rtmp://server/live/baseline_300k -acodec copy -vcodec x264lib -s 320×200 -b 150k -vpre medium -vpre baseline rtmp://server/live/baseline_150k -acodec libfaac -vn -ab 48k rtmp://server/live/audio_only_AAC_48k

7、功能一样,只是采用-x264opts选项

ffmpeg -re -i rtmp://server/live/high_FMLE_stream -c:a copy -c:v x264lib -s 640×360 -x264opts bitrate=500:profile=baseline:preset=slow rtmp://server/live/baseline_500k -c:a copy -c:v x264lib -s 480×272 -x264opts bitrate=300:profile=baseline:preset=slow rtmp://server/live/baseline_300k -c:a copy -c:v x264lib -s 320×200 -x264opts bitrate=150:profile=baseline:preset=slow rtmp://server/live/baseline_150k -c:a libfaac -vn -b:a 48k rtmp://server/live/audio_only_AAC_48k

8、将当前摄像头及音频通过DSSHOW采集,视频h264、音频faac压缩后发布

ffmpeg -r 25 -f dshow -s 640×480 -i video=”video source name”:audio=”audio source name” -vcodec libx264 -b 600k -vpre slow -acodec libfaac -ab 128k -f flv rtmp://server/application/stream_name

9、将一个JPG图片经过h264压缩循环输出为mp4视频

ffmpeg.exe -i INPUT.jpg -an -vcodec libx264 -coder 1 -flags +loop -cmp +chroma -subq 10 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -flags2 +dct8x8 -trellis 2 -partitions +parti8x8+parti4x4 -crf 24 -threads 0 -r 25 -g 25 -y OUTPUT.mp4

10、将普通流视频改用h264压缩,音频不变,送至高清流服务(新版本FMS live=1)

ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv “rtmp://server/live/h264Stream live=1〃


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

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

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

1.采集usb摄像头视频命令:

ffmpeg -t 20 -f vfwcap -i 0 -r 8 -f mp4 cap1111.mp4

./ffmpeg -t 10 -f vfwcap -i 0 -r 8 -f mp4 cap.mp4

具体说明如下:我们采集10秒,采集设备为vfwcap类型设备,第0个vfwcap采集设备(如果系统有多个vfw的视频采集设备,可以通过-i num来选择),每秒8帧,输出方式为文件,格式为mp4。

2.最简单的抓屏:

ffmpeg -f gdigrab -i desktop out.mpg 

3.从屏幕的(10,20)点处开始,抓取640x480的屏幕,设定帧率为5 :

ffmpeg -f gdigrab -framerate 5 -offset_x 10 -offset_y 20 -video_size 640x480 -i desktop out.mpg 

4.ffmpeg从视频中生成gif图片:

ffmpeg -i capx.mp4 -t 10 -s 320x240 -pix_fmt rgb24 jidu1.gif

5.ffmpeg将图片转换为视频:

新浪博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ffmpeg常用基本命令(转) 的相关文章

  • 多态语法

    多态基础语法 xff1a 向上转型 xff1a 子类型 gt 父类型 xff08 类似于自动类型转换 xff09 向下转型 xff1a 子类型 lt 父类型 xff08 类似于强制类型转换 xff09 如果想调用子类中特有的方法 xff0c
  • python 内部作用域修改外部作用域的变量

    1 xff0c 当内部作用域想修改外部作用域的变量时 xff0c 就需要用到global和nonlocal关键字 2 xff0c 方法嵌套
  • GPS & Lidar & IMU 融合定位与建图_理论学习1

    Localization amp Mapping 参考 xff1a 博文 xff1a Lidar 数据处理 ADS GPS 定位 定位技术分类 xff1a GPS绝对定位 xff0c 相对定位 xff0c 融合定位 问题 xff1a 传统的
  • Aruco检测

    来自 xff1a https blog dgut top 2020 07 15 python aruco 检测ID span class token keyword import span numpy span class token ke
  • uio驱动编写 实例2 //增加了中断部分

    http blog csdn net ganggexiongqi article details 6794215 AUTHOR xff1a Joseph Yang 杨红刚 lt ganggexiongqi 64 gmail com gt C
  • ROS主从机配置方法及rviz显示从机雷达扫描信息

    ROS主从机配置方法及rviz显示从机雷达扫描信息 一 ros节点设置 1 IP查询 通过命令 ifconfig 分别查询主机从机ip 2 修改 bashrc文件 sudo gedit bashrc 主机中添加 xff1a export R
  • ROS创建自定义msg类型功能包

    ROS创建自定义msg类型功能包 一 创建msg消息 首先创建一个空的package单独存放msg类型 xff08 当然也可以在任意的package中自定义msg类型 xff09 为便于说明 xff0c 建立一个名为base sks msg
  • ROS中geometry_msgs消息类型、nav_msg消息

    ROS中geometry msgs消息类型 nav msg消息 参考 xff1a 链接 https blog csdn net ganbaoni9yang article details 50060343 官方文档 xff1a http d
  • 2011年总结

    又是一年年终时 亦是一年总结时 想想自己从去年写年终总结到现在 已经很久没有写过字了 时间过得真快 又是一年过去了 这一年也是我出来工作的第二年 这一年总体来说自己无论在技术还是心态方面有了很大的进步 记得刚出学校那会 啥都不知道 对于工作
  • 性能监测工具-node-export

    1 前言 无论是做性能测试或是运维等都会用到对服务的监测 xff0c 最基本的监测是就是对服务器的基本指标监测 xff0c 比如 xff1a cpu 内存 I O 网络等 这些其实一般系统自带的都有工具 xff0c 很方便 xff0c 比如
  • VSCode(Visual Studio Code)整合Git

    一 xff1a 初始化git插件 在拓展商店中搜索 git xff0c 在下发出现的列表中 xff0c 选择 Git History xff0c 在右边出现的界面 xff0c 点击 安装 即可 本人已经安装 xff0c 安装按钮已无 xff
  • Ubuntu 当前系统资源查看命令Top详解

    top xff1a 主要参数 d xff1a 指定更新的间隔 xff0c 以秒计算 q xff1a 没有任何延迟的更新 如果使用者有超级用户 xff0c 则top命令将会以最高的优先序执行 c xff1a 显示进程完整的路径与名称 S xf
  • ToString的用法

    ToString的用法 string y 61 x ToString 我才明白把一个类型转换为string类型是啥意思 比如当定义一个int类型后 xff0c 利用toString xff08 xff09 方法就能把int转化为string
  • STM32F4-KeyFIFO

    STM32按键FIFO 主要思想就是 xff1a 1 先配置按键的初始计数值为滤波值 如 xff0c 滤波为40ms xff0c 则配置该值为固定初始值 xff0c 如10 假如扫描周期为10ms xff0c 每间隔一定时间 上面说的10m
  • pid的后2位是无效的 在查询pspcidtable的时候 ExpLookupHandleTableEntry 函数会自动把pid的后两位置成0(Handle.TagBits = 0;就是这句!!)

    PHANDLE TABLE ENTRY ExpLookupHandleTableEntry IN PHANDLE TABLE HandleTable IN EXHANDLE tHandle 43 43 Routine Description
  • 代码分析——基于误差状态卡尔曼滤波器(ESKF)实例分析

    imu gps localization代码分析 最近在学习ESKF相关知识 xff0c 偶然发现知乎大佬 Dongsheng Yang基于 Quaterniond kinematics for the error state Kalman
  • 在ros环境下的amcl配置笔记

    这段时间导师让研究一下amcl xff0c 在这之前只有一点ros基础 xff0c 根本不知道amcl是什么东东 xff0c 于是开始查资料找教程 xff0c 但是真心没有找到面向小白的配置教程 xff0c 在这几天的摸索中 xff0c 终
  • ROS 发布和订阅自定义消息数组

    今天学习使用ros发布和订阅自定义的消息以及消息数组 xff0c 记录 xff0c 备忘 xff01 说明 xff1a 以ubuntu14 04 xff0c indigo版本为例 ros工作空间位置 xff1a workspace catk
  • Ubuntu USB串口数据 读取及显示

    显示串口接受的数据命令 1 1 在终端输入 lsusb 显示所有连接的usb设备 1 2 在终端输入 ls dev ttyA 显示所有连接的虚拟USB设备端口号 1 3 在终端输入 ls dev ttyU 显示所有连接的USB设备端口号 1
  • 单片机学习(四)——ESP8266(最全教程和说明)

    文章目录 前言一 ESP8266可以干什么 xff1f 二 ESP8266作为传输数据的开发 1 电路连接图2 ESP8266直接烧录3 通过Arduino对ESP8266进行烧录三 ESP8266作为开发板的开发四 可能会存在的问题总结

随机推荐

  • VScode怎么修改主题色

    VScode底部点击 设置 按钮 xff0c 点击colorTheme 出来的弹框选项中 xff0c 点击选择合适的主题色即可
  • 初学者PID进阶——在线调整参数

    原文地址 xff1a http brettbeauregard com blog 2011 04 improving the beginner e2 80 99s pid tuning changes 问题The Problem 在系统运行
  • 路由器WiFi天线拆机详解-路由器天线原理

    xff08 本文已经同步到公众号 原创文章 xff0c 转载请与作者联系 xff09 1 前言 xff1a 随着无线通信的发展 xff0c WiFi对我们日常生活工作越来越重要 作为WiFi的载体 路由器 xff0c 也是经常出现在生活的各
  • 以机器人为中心的视觉惯性里程计--RVIO

    有没有大佬能用这个代码发布一个 39 nav msgs Odometry 39 message的 34 odom 34 话题 xff0c 下面是代码的github地址 xff0c 和作者的意见 代码地址 https github com r
  • ubuntu的gazebo无法加载模型的解决办法

    最近在CMU exploration的平台上做仿真实验时 xff0c 出现了无法加载模型的错误 ERROR 1657256347 244258655 3 370000000 Updating ModelState model camera
  • 开发板(ubuntu系统)通过串口接收数据,并将数据通过网口转发出去

    测试软件windows下串口助手和cmd下的telnet xff0c ubuntu下的minicom 设置好相应的串口号和端口号 此程序可以正常接收数据 include lt termios h gt include lt unistd h
  • 嵌入式操作系统的内存,你了解多少?

    linux 内存是后台开发人员 xff0c 需要深入了解的计算机资源 合理的使用内存 xff0c 有助于提升机器的性能和稳定性 本文主要介绍 linux 内存组织结构和页面布局 xff0c 内存碎片产生原因和优化算法 xff0c linux
  • RK查看gpu占用率方法

    查看gpu占用率 cat sys devices platform ff9a0000 gpu devfreq ff9a0000 gpu load 0 64 200000000Hz 64 前面的数值表示gpu占用率 xff0c 如果一直为0
  • 对视频50p,50i 还有25p,25i区别的粗劣解释

    对视频50p 50i 还有25p 25i区别的粗劣解释 首先跟你解释p和i的概念 xff0c p是逐行扫描模式 xff0c i是隔行扫描模式 帧速率有以下几种 xff1a 60帧 秒 xff08 实际为59 94帧 秒 xff0c 为方便起
  • 对 makefile 中 .c.o 的理解

    LIBS 61 gao o all LIBS 64 echo 34 final 34 c o gcc o 64 lt echo 34 in c o rule 34 执行 结果 xff1a gcc o gao o gao c in c o r
  • 使用arecord、aplay 实现录音和播放

    Linux应用开发 第八章 ALSA应用开发 腾讯云开发者社区 腾讯云 tencent com period size 指定 period size buffer size 指定 buffer size 259条消息 使用arecord a
  • git 查看某个文件的修改记录

    1 git log filename 可以看到fileName相关的commit记录 2 git log p filename 可以显示每次提交的diff 3 查看某次提交中的某个文件变化 xff0c 可以直接加上fileName git
  • C语言wav格式详解,代码实践

    393条消息 C语言wav格式详解 xff0c 代码实践 c语言写wav文件 白屿林的博客 CSDN博客
  • RT-Thread 命令自启动详解

    408条消息 RT Thread 自动初始化详解 init app export Nameless Y的博客 CSDN博客 在msh c增加如下代码 xff0c 即可实现自启动 static int exec audio sample vo
  • (无人机方向)ros小白学习之路(一)ROS创建节点与编译

    文章目录 前言ROS创建节点与编译创建工作空间 1 创建和初始化 2 编译 3 为新建的工作空间配置系统环境ros功能包的创建1 xff1a 自定义功能包的创建2 xff1a 在github上下载功能包源码 ROS功能包常用指令1 xff1
  • 使用pjsip传输已经编码的视频

    pjsip功能很强 xff0c 做sip rtp语音通话库首选 在2 0之后 xff0c 也支持视频 不过 xff0c 它的视频功能缺省是从视频设备采集 xff0c 然后进行编译 xff0c 再发送出去的 假设 xff0c 我们已经有了视频
  • CentOS7中英文输入法及切换

    安装完CentOS7后如果没有拼音输入法 xff0c 先在输入源里找下有没有 打开设置 gt gt 区域和语言 gt gt 输入源 搜索pinyin就可以找到拼音输入法 xff0c 然后点击添加 回到设置 xff0c 选择键盘 gt gt
  • rtpsession详解

    以下过程仅分析推送视频模式 xff1a 服务器监听rtsp端口号 xff0c 当有客户端连接后 xff0c 会创建RTSPSession xff0c 在客户端请求过程中的announce时 xff0c 会创建RTPSession xff0c
  • gdb调试coredump(使用篇)

    什么是coredump Coredump叫做核心转储 xff0c 它是进程运行时在突然崩溃的那一刻的一个内存快照 操作系统在程序发生异常而异常在进程内部又没有被捕获的情况下 xff0c 会把进程此刻内存 寄存器状态 运行堆栈等信息转储保存在
  • ffmpeg常用基本命令(转)

    ffmpeg f s16le ar 16000 ac 2 i lucy 16k pcm output wav ffmpeg f s16le ar 48000 ac 2 i lucy 48k pcm output 48k wav ffmpeg