码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【愚公系列】2022年09月 微信小程序-FFmpeg的安装与使用


    文章目录

    • 前言
    • 一、FFmpeg的安装
    • 二、FFmpeg的使用
      • 1.获取设备相关命令
      • 2.直播相关命令
        • 2.1 直播推流
        • 2.2 直播拉流
        • 2.3 播放验证


    前言

    FFmpeg是领先的多媒体框架,能够解码,编码, 转码,多路复用器,解复用器,流式传输,过滤和播放人类和机器创建的几乎所有内容。它支持最晦涩难懂的古代格式,直到最前沿。无论它们是由某些标准委员会,社区还是公司设计的。它还具有高度的可移植性:FFmpeg在各种构建环境,机器架构和配置下编译,运行并通过了我们在Linux,Mac OS X,Microsoft Windows,BSD,Solaris等上。

    一、FFmpeg的安装

    FFmpeg的官网:http://ffmpeg.org/download.html#build-windows
    在这里插入图片描述

    下载window版本
    在这里插入图片描述
    点击后会跳转到github上:https://github.com/BtbN/FFmpeg-Builds/releases
    在这里插入图片描述
    下载文件
    在这里插入图片描述
    下载完成后设置环境变量
    在这里插入图片描述
    在终端输入:ffmpeg -version
    在这里插入图片描述
    出现以上信息代表安装成功

    二、FFmpeg的使用

    1.获取设备相关命令

    ffmpeg -f dshow -list_devices true -i dummy
    
    • 1

    在这里插入图片描述

    2.直播相关命令

    2.1 直播推流

    本地视频推流

    ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamname
    
    • 1

    相关命令介绍

    • -re 减慢帧率速度,让帧率与视频真正帧率保持同步
    • -i out.mp4 需要推出去的文件
    • -c 音视频编解码,copy音频与视频的参数不变;如果专门指定音频那就是-acodec,如果专门指定视频那就是-vcodec
    • -f flv 推出去的文件格式是flv
    • rtmp://server/live/streamname
      服务器地址,将视频推送到rtmp服务器上,其他端就可以从rtmp服务器上拉流看到直播影像

    本地设备推流

    ffmpeg -f dshow -i video="摄像头名称" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv 推流地址
    
    • 1

    2.2 直播拉流

    ffmpeg -i rtmp://server/live/streamname -c copy dump.flv
    
    • 1
    • 实例 ffmpeg -i http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8 -c copy
      dump.m3u8 (拉取什么格式就保存成什么格式)
    • ffplay dump.m3u8
    • -c copy 对于拉到的数据流不做重新编码,不对音视频参数做任何处理
    • dump.flv 拉取到本地后保存成 dump.flv 文件

    2.3 播放验证

    ffplay -i "拉流地址" -fflags nobuffer
    
    • 1

    nobuffer为实时播放

  • 相关阅读:
    Java项目:SSM图书在线销售商城网站
    Linux系统编程 进程控制
    应急响应:应急响应流程,常见应急事件及处置思路
    ThreeJS-3D教学八-OBJLoader模型加载+动画
    Springboot 校园安全通事件报告小程序-计算机毕业设计源码02445
    mindspore mindyolo目标检测华为昇腾上推理使用、训练;华为OBS文件传输使用
    AVL树详解+模拟实现
    入门力扣自学笔记202 C++ (题目编号:808)
    react native环境搭建
    WebGL笔记:绘制矩形面的几种方式以及封装封装多边形对象来绘制不同图形
  • 原文地址:https://blog.csdn.net/aa2528877987/article/details/126715836
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号