热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FFmpeg命令分类

https:www.imooc.comvideo167951基本信息查询命令ffmpeg-versionffmpeg-devicesffmpeg-formats|grepmp3

https://www.imooc.com/video/16795 





1 基本信息查询命令

ffmpeg -version
ffmpeg -devices

ffmpeg -formats | grep mp3



2 录制命令

https://www.jianshu.com/p/fff726967ae3


FFmpeg录屏命令



2.1 安装screen capture recorder


https://sourceforge.net/projects/screencapturer/files/



2.2 查看是否安装成功

ffmpeg -list_devices true -f dshow -i dummy

DirectShow video devices (some may be both video and audio devices)
“screen-capture-recorder” //视频设备
DirectShow audio devices
“virtual-audio-capturer” //音频设备

2.3 录制

https://blog.csdn.net/shaosunrise/article/details/81068080


2.3.1 只录制音频

https://y.qq.com/n/yqq/singer/001fNHEf1SFEFN.html

ffmpeg -f dshow -i audio="virtual-audio-capturer" -acodec libmp3lame out.mp3

# 播放音频
ffplay out.mp3

2.3.2 只录制视频

ffmpeg -f dshow -i video="screen-capture-recorder" -r 5 -vcodec libx264 -preset:v ultrafast -tune:v zerolatency MyDesktop.mp4

2.3.3 录制音频和视频

ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libvo_aacenc -s 1280x720 -r 25 -q 10 -ar 44100 -ac 2 -tune zerolatency -preset ultrafast -f mpegts - | ffmpeg -f mpegts -i - -c copy -bsf:a aac_adtstoasc -f flv temp.flv



3 分解/复用命令

 


 多媒体格式转换


# in.mp4转换成out.avi格式
ffmpeg -i in.mp4 -vcodec copy -acodec copy out.avi
# 播放视频
ffplay out.avi

# 抽取视频
ffmpeg -i in.mp4 -an -vcodec copy out.h264
# 播放视频
ffplay out.h264

# 抽取音频
ffmpeg -i in.mp4 -acodec copy -vn out.aac
# 播放音频
ffplay out.aac



4 处理原始数据命令


FFmpeg提取YUV数据


# 抽取yuv数据(原始数据)
ffmpeg -i in.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv
# 播放(执行上面的命令会得到宽高)
ffplay -s 1280x720 out.yuv

 FFmpeg提取PCM数据


# 提取PCM数据
ffmpeg -i in.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm
# 播放(指定采样率/声道等基本信息)
ffplay -ar 44100 -ac 2 -f s16le out.pcm



5 裁剪与合并命令


FFmpeg音视频裁剪


# 裁剪视频 00:00:30后开始裁剪10s
ffmpeg -i in.mp4 -ss 00:00:30 -t 10 1.ts
# 播放
ffplay 1.ts

FFmpeg音视频合并


# 同一个视频 切片
ffmpeg -i in.mp4 -ss 00:00:10 -t 10 1.ts
ffmpeg -i in.mp4 -ss 00:00:30 -t 10 2.ts

 input.txt 


file 1.ts
file 2.ts

# 合并input.txt里面所列举的视频文件(视频大小格式需要一样 多个mp4文件合并是有问题的)
ffmpeg -f concat -i input.txt out.mp4
# 播放
ffplay out.mp4



6 图片/视频互转命令


FFmpeg视频转图片


ffmpeg -i in.mp4 -ss 00:00:10 -t 10 1.ts

# -r 指定转换图片的帧率是多少(1 每秒钟转出一张图片)
ffmpeg -i 1.ts -r 1 -f image2 image-%3d.jpeg

 FFmpeg图片转视频


# 把前面生成的图片合成视频
ffmpeg -i image-%3d.jpeg out.mp4
# 播放
ffplay out.mp4



7 直播相关命令


https://blog.csdn.net/github_30662571/article/details/72466091 


//----------------RTSP协议直播源----------------//
大熊兔(点播):rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
//----------------RTMP协议直播源----------------//
大熊兔(点播): rtmp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
湖南卫视: rtmp://58.200.131.2:1935/livetv/hunantv
广西卫视: rtmp://58.200.131.2:1935/livetv/gxtv
广东卫视: rtmp://58.200.131.2:1935/livetv/gdtv
东方卫视: rtmp://58.200.131.2:1935/livetv/dftv 

# 湖南卫视
ffplay rtmp://58.200.131.2:1935/livetv/hunantv

直播推流



 直播拉流


# q退出
ffmpeg -i rtmp://58.200.131.2:1935/livetv/hunantv -c copy dump.flv
# 播放
ffplay dump.flvffmpeg -i http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8 -c copy dump.m3u8
# 播放一个片段
ffplay dump3.ts
# 播放全部
ffplay dump.m3u8



8 各种滤镜命令


 FFmpeg滤镜命令



8.1 裁剪视频

# 裁剪视频 宽度减少400 高度减少200 (默认中心点)
# crop 格式: crop=out_w:out_h:x:y
ffmpeg -i in.mp4 -vf crop=in_w-400:in_h-200 -c:v libx264 -c:a copy out.mp4
# 播放
ffplay out.mp4

8.2 添加水印


https://blog.csdn.net/m0_37684310/article/details/78257779



8.2.1 视频添加图片水印


https://img-blog.csdnimg.cn/20191124144137624.gif



水印在左上角


# 左上角添加(overlay指定x,y坐标的位置)
ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=5:5" out.mp4

ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=10:10" -codec:a copy out.mp4

# 播放
ffplay out.mp4

 水印在右上角


ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=main_w-overlay_w-10:10" -codec:a copy out.mp4

水印在左下角


ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=10:main_h-overlay_h-10" -codec:a copy out.mp4

 水印在右下角


ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=main_w-overlay_w-10:main_h-overlay_h-10" -codec:a copy out.mp4

 水印在中间


ffmpeg -i in.mp4 -i in.jpg -filter_complex "overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2" -codec:a copy out.mp4

8.2.2 视频添加文字水印

ffmpeg -i in.mp4 -vf "drawtext=fOntfile=STKAITI.TTF:text='你好骚呀':x=100:y=10:fOntsize=24:fOntcolor=red:shadowy=0" out.mp4

  • ttf 字体C:\Windows\Fonts\
  • x:y 显示位置
  • fontsize 文字大小
  • fontcolor 文字颜色




  • https://blog.csdn.net/tanhuifang520/article/details/79623978


推荐阅读
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 如何使用 `org.apache.tomcat.websocket.server.WsServerContainer.findMapping()` 方法及其代码示例解析 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 在Android平台中,播放音频的采样率通常固定为44.1kHz,而录音的采样率则固定为8kHz。为了确保音频设备的正常工作,底层驱动必须预先设定这些固定的采样率。当上层应用提供的采样率与这些预设值不匹配时,需要通过重采样(resample)技术来调整采样率,以保证音频数据的正确处理和传输。本文将详细探讨FFMpeg在音频处理中的基础理论及重采样技术的应用。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 初探设计模式之代理模式:原理与应用解析
    在设计模式中,代理模式通过一个代理对象来控制对真实对象的访问。UML图展示了代理类(如MathProxy)维护了一个引用,使得代理能够访问实际的主题对象。代理模式不仅能够延迟初始化昂贵的对象,还能在访问前后添加额外的操作,如权限检查或日志记录。这种模式在远程服务调用、虚拟代理和智能引用等方面有广泛应用。 ... [详细]
  • 成功实现Asp.Net MVC3网站与MongoDB数据库的高效集成
    我们成功地构建了一个基于Asp.NET MVC3框架的网站,并实现了与MongoDB数据库的高效集成。此次更新不仅完善了基本的创建和显示功能,还全面实现了数据的增删改查操作。在创建功能方面,我们修复了之前代码中的错误,确保每个属性都能正确生成。此外,我们还对数据模型进行了优化,以提高系统的性能和稳定性。 ... [详细]
  • 本文深入探讨了 HTML 中的 `margin` 属性,详细解析了其基本特性和应用场景。文章不仅介绍了 `margin` 的基本概念,还重点讨论了垂直外边距合并现象,并分析了 `margin` 在块级元素与内联元素中的不同表现。通过实例和代码示例,帮助读者全面理解 `margin` 的使用技巧和常见问题。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ... [详细]
  • 在Android 4.4系统中,通过使用 `Intent` 对象并设置动作 `ACTION_GET_CONTENT` 或 `ACTION_OPEN_DOCUMENT`,可以从相册中选择图片并获取其路径。具体实现时,需要为 `Intent` 添加相应的类别,并处理返回的 Uri 以提取图片的文件路径。此方法适用于需要从用户相册中选择图片的应用场景,能够确保兼容性和用户体验。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
author-avatar
爱在运动-666_517
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有