Python——Windows下载ffmpeg

目录

前言

一、下载 (3种下载方式)

1、第一种下载方式——我上传的文件

2、第二种下载方式——GitHub下载

3、第三种下载方式——官网下载

二、解压

三、配置环境变量

 四、验证是否安装成功

五、其他

关于ffmpeg其他安装教程

ffmpeg的延迟问题

官方文档

常用文件推拉流命令

本地USB摄像头推流成RTSP

其他文档

浏览器播放摄像头与其他问题


前言

下载原因:

  • 最近,需要搞一个推拉流,就需要ffmpeg
  • 并且,我又看见3B1B用python写的动画,也需要ffmpeg

于是,俺就来搞一下,结果网上搞得下载教程,五花八门,把我搞得晕头转向

还是用tizi看的国外的。

总结流程:

1、下载

2、解压后放在对应文件夹下

4、配置环境变量


就简单的3步,就可以搞定了

一、下载 (3种下载方式)

1、第一种下载方式——我上传的文件

我放在了蓝奏云(6.0版本的),如果你不介意版本问题,可直接下载:

https://wwwf.lanzout.com/i6gWh13mwblg

密码:ceen


2、第二种下载方式——GitHub下载

GitHub下载:

 GitHub上可以下载任意版本的源码,比如最新的matser上的源码,以及各个分支上(如ffmpeg的5.1版本)的源码

可以直接点击这里:(进行下载

Releases · GyanD/codexffmpeg · GitHub

 

3、第三种下载方式——官网下载

ffmpeg官方网站:FFmpeg 

点击链接: "Windows builds from gyan.dev"

 上面的三种下载方式,请君任选

二、解压

下载的文件:


下载完成后,就可以解压到自己想要存放的地方

(存放的地方,最好不要有中文路径!) 

三、配置环境变量

复制对应的路径

 

D:\ffmpeg\bin

以上是我的路径


配置环境变量

 

 四、验证是否安装成功

 打开cmd,输入命令:

ffmpeg -v

OK啦~就这么简单,我被网上的一些教程搞得晕头转向,唉~ 

五、其他

关于ffmpeg其他安装教程

【ffmpeg基础】ffmpeg的下载安装_ffmpeg下载_剑门微雨的博客-CSDN博客

ffmpeg的延迟问题

 ffmpeg命令行之所以在处理拉流+编解码+推流时,无法做到小于500ms的延迟,是因为ffmpeg命令行在处理时,为了兼容更多的命令,拉流和编解码以及推流都是在不同的队列,尤其编解码的队列,有很多时间上的消耗。如果没有编解码,延迟还是很小的。

官方文档

Documentationhttps://www.ffmpeg.org/documentation.html

常用文件推拉流命令

// rtsp推流(文件推流)
ffmpeg -re -i test.mp4 -rtsp_transport tcp -c copy -f rtsp rtsp://127.0.0.1:554/live/test// rtsp推流(文件循环推流)
ffmpeg -re -stream_loop  -1  -i test.mp4 -rtsp_transport tcp -c copy -f rtsp rtsp://127.0.0.1:554/live/test// rtmp推流(文件推流)
ffmpeg -re -i test.mp4 -vcodec h264_nvenc  -acodec aac -f flv  rtmp://192.168.1.3:1935/live/test// rtmp推流(文件循环推流)
ffmpeg -re -stream_loop  -1 -i test.mp4 -vcodec h264  -acodec aac -f flv  rtmp://127.0.0.1:1935/live/test

本地USB摄像头推流成RTSP

ffmpeg命令行延迟较大,可以通过修改这个推流器代码的拉流入口,来实现拉流+转码+推流。//查看本机USB摄像头列表
ffmpeg -list_devices true -f dshow -i dummy//播放本机USB播放摄像头,FULL HD webcam 是通过查看列表的命令行获得的名称
ffplay -f dshow -i video="FULL HD webcam" //本机USB摄像头+转码+推流到RTSP服务器(rtp over tcp),FULL HD webcam 是通过查看列表的命令行获得的名称
ffmpeg -f dshow -i video="FULL HD webcam" -fflags nobuffer -max_delay 1 -threads 5  -profile:v high  -preset superfast -tune zerolatency  -an -c:v h264 -crf 25 -s 1280*720   -f rtsp -bf 0  -g 5  -f rtsp rtsp://127.0.0.1/live/test

其他文档

  • Video scaling and pixel format converter(视频缩放和像素格式转换的说明文档);
  • Audio resampler(音频重采样的说明);
  • Encoders and decoders (codecs)(音视频编码、解码的说明);
  • Muxers and demuxers (formats)(音视频封装和解封装的说明);
  • Filters(音视频滤波器的说明)。

浏览器播放摄像头与其他问题

  • Http-Flv是一种适合网络视频流的传输协议,网页可以用,客户端也可以用。通常都是用在网页上。但是Http-Flv当前比较明显的不足,是不支持H265。
  • 一般安防摄像头都会支持Rtsp和GB28181协议,但这两种协议的视频流都无法在浏览器直接播放,需要开发一个流媒体转发服务器,通过Rtsp或GB28181协议对接摄像头,然后再实时转Http-Flv或Hls协议。浏览器可以通过js插件直接播放Http-flv或Hls协议的视频流。
  • 如果是做安防领域的流媒体服务器,非常推荐zlm,甚至说首推,因为作者在zlm中,提供了非常完整的有关ps流推拉相关的功能。如果是做直播,推荐使用srs或nginx+rtmp。
  • 不要无脑webrtc,要搞清楚webrtc合适的应用场景 ,不要什么地方都想着webrtc
  • 160元可以购买普通安防摄像头——带推流功能

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

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

相关文章

vscode保存html时,如何不换行?

我发现网上的答案都是千篇一律,都是复制过来的 "vetur.format.defaultFormatterOptions": {"js-beautify-html": {"wrap_line_length": 120,"wrap_attributes": "auto","end_with_newline": false}, …

typescript自动编译文件实时更新

npm install -g typescripttsc --init 生成tsconfig.json配置文件 tsc -w 在监听模式下运行,当文件发生改变的时候自动编译

C语言文件操作

目录 前言: 文件的分类 1. 程序文件 2.数据文件 文件的使用 文件指针 文件指针的使用 文件的打开与关闭 文件的使用方式 示例1: 示例2: 文件的顺序读写 函数简介 示例1: 示例2: 函数简介 示例1: 示例2&…

【我们一起60天准备考研算法面试(大全)-第二十六天 26/60】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

linux获取随机字符串(或数字)的3种方法

1. 获取随机8位字符串: 方法1: # echo $RANDOM |md5sum |cut -c 1-8返回: 471b94f2方法2: # openssl rand -base64 4返回 vg3BEg方法3: # cat /proc/sys/kernel/random/uuid |cut -c 1-8返回 】ed9e032c2.获取随…

【什么是Read Write Through机制】

文章目录 一、Read-Write Through机制的定义二、Read-Write Through机制的特点三、Read-Write Through机制的实现方式四、Read-Write Through机制的应用场景 Read-Write Through机制是一种缓存一致性协议,用于保证存储子系统的缓存与主存储器之间的数据一致性。它是…

NAT详解(网络地址转换)

一句话说清楚它是干什么的: 网络地址转换:是指通过专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址,它使得整个专用网只需要一个全球IP就可以访问互联网,由于专用网IP地址是可以重用的,所以NAT大…

【Linux】Http协议的学习

文章目录 前言一、了解HTTP协议是如何规定的总结 前言 HTTP协议(超文本传输协议)和我们上一篇写的网络版计算器中自己定制的协议一样,只不过Http协议是是一个非常好用的协议,所以我们可以直接用现成的不用自己再搞一套了。 一、了…

EM算法实例

EM算法的E步骤, 是计算在当前的预估参数下,隐含变量(是A硬币还是B硬币)的每个值出现的概率。也就是给定和观测数据,计算这组数据出自A硬币的概率和这组数据出自B硬币的概率 我们根据E步中求出的A硬币、B硬币概率分布&…

在家构建您的迷你 ChatGPT

这篇文章分为三个部分;他们是: 什么是指令遵循模型?如何查找遵循模型的指令构建一个简单的聊天机器人废话不多说直接开始吧!!! 什么是指令遵循模型? 语言模型是机器学习模型,可以根…

tp6 实现excel 导入功能

在项目根目录安装 composer require phpoffice/phpspreadsheet 我们看一下郊果图&#xff0c;如下 点击导入excel表格数据 出现弹窗选择文件&#xff0c;控制台打开输出文档内容 前端layui代码 <form id"uploadForm" class"form-horizontal" encty…

c#数据类型:15种数据类型类型(13种基本数据类型,2种引用类型)

数据类型分为基本数据类型和引用数据类型 c#中,基本数据类型有13个,引用数据类型有两个 值类型整型名称命名空间说明范围8个byteSystem.Byte8位无符号整型0-255sbyteSystem.sbyte8位有符号整型-128-127intSystem.int3232位有符号整型uintsystem.uint3232位无符号整型shortsys…

如何使用 Flatpak 在 Linux 上安装 ONLYOFFICE 桌面编辑器?

Flatpak 是一款与 Linux 发行版无关的软件实用工具&#xff0c;可用于在 Linux 上构建和分发桌面端应用。其可帮助您安装第三方 Linux 应用程序&#xff0c;无需安装库或处理依赖。 ONLYOFFICE 桌面版是什么 ONLYOFFICE 编辑器桌面版是一款全面的办公工具&#xff0c;提供了文…

Java_24_Lambda表达式

Lambda表达式 简化匿名内部类的&#xff01;&#xff01; 什么是Lambda表达式&#xff1f; Lambda表达式是JDK1.8开始之后的新技术&#xff0c;是一种代码的新语法。 是一种特殊写法&#xff0c; 作用&#xff1a;“核心目的是为了简化匿名内部类的代码写法”。 Lambda表达式…

hive库操作示例

hive库操作示例 1、常规表 创建数据库 CREATE DATABASE mydatabase;使用数据库 USE mydatabase;创建表 CREATE TABLE mytable (id INT,name STRING,age INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY , STORED AS TEXTFILE;插入数据 INSERT INTO TABLE mytable VALUE…

(七)「消息队列」之 RabbitMQ 发布者确认(使用 .NET 客户端)

发布者确认&#xff08;Publisher Confirms&#xff09; 发布者确认是一个 RabbitMQ 扩展&#xff0c;用于实现可靠的发布。当在通道上启用发布者确认时&#xff0c;客户端发布的消息将由代理异步确认&#xff0c;这意味着它们已在服务器端得到处理。 0、引言 先决条件 本教程…

C#中使用LINQ和lambda实现左链接、右链接、内链接

C#中使用LINQ和lambda实现左链接、右链接、内链接 在 C# 中使用 LINQ 和 lambda 表达式可以实现左链接&#xff08;Left Join&#xff09;、右链接&#xff08;Right Join&#xff09;和内链接&#xff08;Inner Join&#xff09;操作。这些链接操作是针对两个数据集合之间的关…

在命令行模式、eclipse console下执行Java程序输入中文的几种情况尝试

介绍 在命令行模式下执行Java程序&#xff0c;如果输入中文&#xff0c;经常会出现和代码中的解码字符集不匹配的情况&#xff0c;导致结果不正确。 在命令行模式下执行Java程序&#xff0c;输入中文&#xff0c;其实是用某种字符集编码成字节流&#xff0c;Java程序读取该字节…

Seaborn库绘制单变量分布和双变量分布

Matplotlib虽然已经是比较优秀的绘图库了&#xff0c;但是它有个今人头疼的问题&#xff0c;那就是API使用过于复杂&#xff0c;它里面有上千个函数和参数&#xff0c;属于典型的那种可以用它做任何事&#xff0c;却无从下手。 Seaborn基于 Matplotlib核心库进行了更高级的API…

python与深度学习(五):CNN和手写数字识别

目录 1. 说明2. 卷积运算3. 填充4. 池化5. 卷积神经网络实战-手写数字识别的CNN模型5.1 导入相关库5.2 加载数据5.3 数据预处理5.4 数据处理5.5 构建网络模型5.6 模型编译5.7 模型训练、保存和评价5.8 模型测试5.9 模型训练结果的可视化 6. 手写数字识别的CNN模型可视化结果图7…