Python——Windows下载ffmpeg

电玩女神 2024-03-22 21:42 86阅读 0赞

目录

前言

一、下载 (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下载:

de1c5c1dbeec4ebd9259257937e5e0c7.png

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

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

Releases · GyanD/codexffmpeg · GitHub

e35f061741d84047a28887559456a585.png

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

ffmpeg官方网站:FFmpeg

9045f1139e6449a18568c7844eb381c0.png

点击链接: “Windows builds from gyan.dev”

973a5876aa9b42078e2ec0905f241f89.png

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

二、解压

下载的文件:

3d296435de9e48d395c2450002cb5aec.png


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

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

422dc305477844ac9b258f77542f04aa.png

三、配置环境变量

复制对应的路径

5a63df30268c4be9b301d6120dde235b.png

  1. D:\ffmpeg\bin

以上是我的路径


配置环境变量

5795176ff84448089d3a08405f337490.png

四、验证是否安装成功

打开cmd,输入命令:

  1. ffmpeg -v

c17e7e16d3044a468df4d6b65fded1e0.png

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

五、其他

关于ffmpeg其他安装教程

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

ffmpeg的延迟问题

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

官方文档

Documentationfavicon.icohttps://www.ffmpeg.org/documentation.html

常用文件推拉流命令

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

本地USB摄像头推流成RTSP

  1. ffmpeg命令行延迟较大,可以通过修改这个推流器代码的拉流入口,来实现拉流+转码+推流。
  2. //查看本机USB摄像头列表
  3. ffmpeg -list_devices true -f dshow -i dummy
  4. //播放本机USB播放摄像头,FULL HD webcam 是通过查看列表的命令行获得的名称
  5. ffplay -f dshow -i video="FULL HD webcam"
  6. //本机USB摄像头+转码+推流到RTSP服务器(rtp over tcp),FULL HD webcam 是通过查看列表的命令行获得的名称
  7. 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元可以购买普通安防摄像头——带推流功能

发表评论

表情:
评论列表 (有 0 条评论,86人围观)

还没有评论,来说两句吧...

相关阅读