ffmpeg的使用,安装,抽帧,加水印,截图,生成gif,格式转换,抓屏等

在这里插入图片描述

实际使用中总结的关于ffmpeg对视频的处理的记录文档

具体信息:

http://ffmpeg.org/download.html 官网下载ffmpeg
关于ffmpeg的安装详细步骤和说明 装ffmpeg 方式,Linux和windows下的
http://bbs.csdn.net/topics/390519382 php 调用ffmpeg ,
http://bbs.csdn.net/topics/390521910 python调用ffmpeg ,
http://www.4wei.cn/archives/category/php 一个资源网站
https://ffmpeg.zeranoe.com/builds/ ffmpeg windows版本的下载
http://ffmpeg.org/download.html 这是Linux版本的.
http://blog.csdn.net/kissdeath/article/details/6062277 命令可以参考
http://www.360doc.com/content/16/0518/11/496343_560111633.shtml 可以参考

可用的ffmpeg 命令

eg.

最简单的抓屏 ffmpeg -f gdigrab -i desktop ../ffmpeg-video/out.mpg
截图 ffmpeg -i C:\xampp\www\acp\resources\ffmpeg\out.avi -y -f image2 -t 0.001 -s 352x240 C:\xampp\www\acp\resources\ffmpeg\jt.jpg
视频格式转换 ffmpeg -i C:\xampp\www\acp\resources\ffmpeg\temp.mp4 C:\xampp\www\acp\resources\ffmpeg\out.avi
抽帧 ffmpeg -i C:\xampp\www\acp\resources\ffmpeg\out.avi -r 1 -s 640x320 -f image2 C:\xampp\www\acp\resources\ffmpeg\foo-%03d.jpeg
ffmpeg 从视频中生成gif图片 ffmpeg -i C:\xampp\www\acp\resources\ffmpeg\temp.mp4 -t 10 -s 320x240 -pix_fmt rgb24 C:\xampp\www\acp\resources\ffmpeg\jidu1.gif
图片合成视频 ffmpeg -f image2 -i C:\xampp\www\acp\resources\ffmpeg\foo-%03d.jpeg -r 12 -s 320x240 ../ffmpeg-video/foo.avi
录制视频 ffmpeg -f video4linux2 -t 20 -s 320*240 -r 10 -i /dev/video0 /tmp/te.ogv 暂时不可用
给视频添加水印(老版本是这样用的) ffmpeg -i input.flv -vhook '/usr/lib/vhook/watermark.so -f watermark.png -t 222222 -m 1' output.flv
ffmpeg -y -i E:\ffmpeg\ffmpeg-video\temp.mp4 -acodec copy -b 300k -vfilters "movie=0:png:watermark.png [wm];[in][wm] overlay=5:5:1 [out]" output.mp4
视频加水印---cmd中代码亲测可用(左上方加水印)
"movie ='1.png' " 这是在bin中的同级目录, movie='\\ffmpeg\\ffmpeg-video\\2.png' 这是自选目录,需要进行反斜杠的处理.
E:\ffmpeg\bin>ffmpeg -i E:\ffmpeg\ffmpeg-video\temp.mp4 -vf "movie='\\ffmpeg\\ffmpeg-video\\2.png' [watermark]; [in][watermark] overlay=10:10 [out]" E:\ffmpeg\ffmpeg-video\out.mp4

若是要在其他位置添加logo需要做如下修改即可:

eg.

Top left corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
Top right corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv
Bottom left corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv
Bottom right corner
ffmpeg -i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]" outputvideo.flv
参考链接: How to watermark a video using FFmpeg

之前一直有问题,是ffmpeg用的版本不对,老版本的ffmpeg用的-vhook,新版本用的-vf参数,这里需要注意区别。(我现在用的ffmpeg0.8版本)

还有个问题就是logo的大小不能大于视频帧的大小,之前也是测试没有注意,随便整了一个比视频尺寸大的logo.jpg,导致添加水印失败,还好,失败是会有如下的提示信息:

具体细节的参考网站:

https://my.oschina.net/zhuanghaoren/blog/200684

eg.

-y 表示有同名的output.flv存在时不提示,直接覆盖
-i input.flv 表示要进行水印添加处理的视频
-acodec copy 表示保持音频不变
-b 300k 表示处理视频的比特率,用-vcodec copy时报错,使用其他工具获取到原始视频比特率后加到这里,保持比特率基本不变,不然默认为200k,视频有损。
output.flv 处理后的视频
-vfilters “…” 中间便是水印处理参数,重要的是overlay=后面的部分,第一个参数表示水印距离视频左边的距离,第二个参数表示水印距离视频上边的距离,第三个参数 为1,表示支持透明水印。使用透明的png图片进行视频编码后,成功获得带透明水印的视频,并且画质也比较好。
具体的参数
主要参数:
-i 设定输入流
-f 设定输出格式
-ss 开始时间
视频参数:
-b 设定视频流量,默认为200Kbit/s
-r 设定帧速率,默认为25 --每秒有多少帧,一帧就是一个画面
-s 设定画面的宽与高
-aspect 设定画面的比例
-vn 不处理视频
-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
音频参数:
-ar 设定采样率
-ac 设定声音的Channel数
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器
-an 不处理音频
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/669651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(篇九)MySQL常用内置函数

目录 ⌛数学函数 ⌛字符串函数 ⌛聚合函数 ⌛日期函数 📐获取当前时间 📐获取时间的某些内容 📐​编辑 📐格式化函数 📏format类型: ⌛系统信息函数 ⌛类型转换函数 数学函数 字符串函数 聚合函…

SSH口令问题

SSH(Secure Shell)是目前较可靠、专为远程登录会话和其他网络服务提供 安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。 SSH口令长度太短或者复杂度不够,如仅包含数字或仅包含字母等时&#xf…

html5 audio video

DOMException: play() failed because the user didn‘t interact with the document first.-CSDN博客 不可用: 可用: Google Chrome Close AutoUpdate-CSDN博客

[C++] 如何使用Visual Studio 2022 + QT6创建桌面应用

安装Visual Studio 2022和C环境 [Visual Studio] 基础教程 - Window10下如何安装VS 2022社区版_visual studio 2022 社区版-CSDN博客 安装QT6开源版 下载开源版本QT Try Qt | 开发应用程序和嵌入式系统 | Qt Open Source Development | Open Source License | Qt 下载完成&…

请问半吊子 C++选手该如何深入学习 C++?

请问半吊子 C选手该如何深入学习 C? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!&#xff0…

React 实现表单组件

表单是html的基础元素,接下来我会用React实现一个表单组件。支持包括输入状态管理,表单验证,错误信息展示,表单提交,动态表单元素等功能。 数据状态 表单元素的输入状态管理,可以基于react state 实现。 …

【证书管理】实验报告

证书管理实验 【实验环境】 ISES客户端 【实验步骤】 查看证书 查看证书详细信息 选择任意证书状态,在下方“证书列表”中出现符合要求的所有证书。在“证书列表”中点击要查看证书,在右侧“证书详细信息”栏出现被选证书信息。 上述操作如图1.2.…

Elasticsearch:基本 CRUD 操作 - Python

在我之前的文章 “Elasticsearch:关于在 Python 中使用 Elasticsearch 你需要知道的一切 - 8.x”,我详细讲述了如何建立 Elasticsearch 的客户端连接。我们也详述了如何对数据的写入及一些基本操作。在今天的文章中,我们针对数据的 CRUD (cre…

C++后端开发之Sylar学习三:VSCode连接Ubuntu配置Gitee

C后端开发之Sylar学习三:VSCode连接Ubuntu配置Gitee 为了记录学习的过程,学习Sylar时写的代码统一提交到Gitee仓库中。 Ubuntu配置Gitee 安装git sudo apt-get install -y git配置用户名和邮箱 git config --global user.name 用户名 …

ArcGISPro中Python相关命令总结

主要总结conda方面的相关命令 列出当前活动环境中的包 conda list 列出所有 conda 环境 conda env list 克隆环境 克隆以默认的 arcgispro-py3 环境为模版的 my_env 新环境。 conda create --clone arcgispro-py3 --name my_env --pinned 激活环境 activate my_env p…

相机图像质量研究(3)图像质量测试介绍

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

RabbitMQ-1.介绍与安装

介绍与安装 1.RabbitMQ1.0.技术选型1.1.安装1.2.收发消息1.2.1.交换机1.2.2.队列1.2.3.绑定关系1.2.4.发送消息 1.2.数据隔离1.2.1.用户管理1.2.3.virtual host 1.RabbitMQ 1.0.技术选型 消息Broker,目前常见的实现方案就是消息队列(MessageQueue&…

Linux操作系统下安装消息中间件RabbitMQ_00000

下载 在官网下载Linux版RabbitMQ安装文件。 erlang-21.3-1.el7.x86_64.rpm rabbitmq-server-3.8.8-1.el7.noarch.rpm 安装 1、将文件上传至Linux系统中。 上传到/usr/local/software目录下(如果没有software目录,则创建。)。 2、安装文件&…

操作系统-【预备学习-2】(Linux 文件操作命令)

文章目录 相关知识文件查看命令cat 命令head 命令tail 命令nl 命令文件编辑基本命令 演示 相关知识 文件查看命令 我们要查看一些文本文件的内容时,要使用文本编辑器来查看。在Linxu下,可以使用一些命令预览文本文件中的内容,而不必使用文本…

空气质量预测 | Matlab实现基于SVR支持向量机回归的空气质量预测模型

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 政府机构使用空气质量指数 (AQI) 向公众传达当前空气污染程度或预测空气污染程度。 随着 AQI 的上升,公共卫生风险也会增加。 不同国家有自己的空气质量指数,对应不同国家的空气质量标准。 基于支持向量机(Su…

客户端会话技术-Cookie

一、会话技术 1.1 概述 会话:一次会话中包含多次**请求和响应** 一次会话:浏览器第一次给服务器资源发送请求,此时会话建立,直到有一方断开为止 会话的功能:在一次会话的范围内的多次请求间,共享数据 …

107 C++ STL 容器分类,array,vector详解

STL 的组成部分是个重要的部分,先回忆一下 容器,迭代器,算法(函数),分配器(分配内存),适配器,仿函数 一 容器的分类. vector , list&#xff0c…

Narrative Visualization: Telling Stories with Data

作者:Edward Segel、Jeffrey Heer 发表:TVCG, 机构:UW Interactive Data Lab 【原斯坦福可视化组】 1.概述 静态可视化:在一大串的文本描述中,可视化作为提供证据和细节的图表出现新兴可视化&#xff1a…

元数据驱动的思想

元数据驱动的思想 元数据驱动的思想应该不会陌生,但元数据驱动的实践应该会非常陌生。 因为元数据驱动架构是为了解决高频个性化的复杂业务而诞生的,而这种业务场景只存在2B领域。 有关元数据驱动的架构思想,在这里暂先简单抛几个点。&#…

精雕细琢的文档体验:Spring Boot 与 Knife4j 完美交汇

欢迎来到我的博客,代码的世界里,每一行都是一个故事 精雕细琢的文档体验:Spring Boot 与 Knife4j 完美交汇 前言Knife4j 与 Swagger 的区别1. 特性与优劣势对比:Knife4j:Swagger: 2. 选择 Knife4j 的理由&a…