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下载:

Python——Windows下载ffmpeg_第1张图片

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

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

Releases · GyanD/codexffmpeg · GitHub

Python——Windows下载ffmpeg_第2张图片

 

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

ffmpeg官方网站:FFmpeg 

Python——Windows下载ffmpeg_第3张图片

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

Python——Windows下载ffmpeg_第4张图片

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

二、解压

下载的文件:


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

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

Python——Windows下载ffmpeg_第5张图片

三、配置环境变量

复制对应的路径

Python——Windows下载ffmpeg_第6张图片

 

D:\ffmpeg\bin

以上是我的路径


配置环境变量

Python——Windows下载ffmpeg_第7张图片

 

 四、验证是否安装成功

 打开cmd,输入命令:

ffmpeg -v

Python——Windows下载ffmpeg_第8张图片

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元可以购买普通安防摄像头——带推流功能

你可能感兴趣的:(Python,windows)