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

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python教程:在Windows上下载ffmpeg

    发表回复