草庐IT

利用FFmpeg实现windows和linux(federo系统)在局域网环境中的usb摄像头RTSP推流与拉流(在同一局域网下任意PC设备都可以进行拉流操作)

失了志的咸鱼 2023-09-27 原文

1.安装FFmpeg

FFmpeg 是一个免费、开源的跨平台视频和音频流处理工具。

首先,打开终端(在 Windows 中是命令提示符,在 Windows 搜索栏中输入“cmd”,然后打开命令提示符),然后运行以下命令以检查您的系统上是否已安装 FFmpeg:

ffmpeg -version

1.1 Windows系统

转到 FFmpeg 官方网站,然后下载最新版本的 Windows 安装包。

下载完成后,双击安装包文件,然后按照提示操作安装 FFmpeg。

1.2 Ubuntu 和 Debian 系统

对于 Ubuntu 和 Debian 系统,可以使用 apt 包管理器来安装 FFmpeg:

sudo apt update
sudo apt install ffmpeg

1.3 CentOS 和 Fedora 系统

对于 CentOS 和 Fedora 系统,可以使用 yum 来安装 FFmpeg:

sudo yum install ffmpeg

1.4 macOS系统

对于 macOS系统,可以使用 Homebrew 来安装 FFmpeg:

brew install ffmpeg

1.5指令无法下载后手动下载

linux系统指令无法下载时,可以通过https://johnvansickle.com/ffmpeg/下载后解压文件,根据自己开发板的系统和架构自行选择

在安装完成后,可以再次运行

ffmpeg -version

命令来检查是否安装成功。如果安装成功,将显示安装的版本号等信息。


2. 安装rtsp-simple-server

安装rtsp服务器,可以去这个链接

rtsp-simple-server

下载对应编译好的文件直接运行就好。

2.1 windows下载

2.2 linux下载(根据arm架构下载,是armv7?8?9?)


3.在linux系统上进行rtsp推流操作

3.1准备工作

我这里是搭载了federo28系统的开发板,各位可以参考,如下:

首先在/home(或者自己选择的)路径下创建自己的文件夹,我创建的qinzhiyu文件如下:

将手动下载好的linux系统的ffmpegrtsp-simple-server压缩包和放入自己建的文件中,并且解压,如下:

通过以下ifconfig查看局域网的ip地址,我的地址为192.168.22.50

3.2后台运行rtsp-simple-server

rtsp-simple-server所在目录中,输入以下指令

./rtsp-simple-server &   #&可以使得rtsp-simple-server可执行文件后台运行

运行后的状态如下,在下面的推流中选择rtsp的8554端口

3.3查看摄像头驱动路径

通过下面指令对比插上摄像头后,在/dev目录下观察video开头文件变化,我这里是多了video4文件

ls /dev

3.4利用ffmpeg把摄像头画面推流到搭建局域网的rtsp视频流服务器上

根据查询到的摄像头的路径,输入下面的指令:(根据需求选择TCP或者UDP传输协议)

TCP

ffmpeg -re -i /dev/video4 -vcodec libx264 -preset:v ultrafast -tune:v zerolatency  -rtsp_transport tcp -f rtsp rtsp://192.168.222.50:8554/camera_test

UDP

ffmpeg -re -i /dev/video4 -vcodec libx264 -preset:v ultrafast -tune:v zerolatency  -rtsp_transport udp -f rtsp rtsp://192.168.222.50:8554/camera_test

运行后的状态如下:


4.利用ffplay在windows上进行拉流

在windows中下载FFmpeg压缩文件后解压,在ffmpeg-2023-02-22-git-d5cc7acff1-essentials_build\bin中有三个exe文件,如下:

将这三个文件复制到cmd显示的C:\Users\Administrator目录中,然后打开cmd命令窗口,输入下面的指令:

ffplay rtsp://192.168.222.50:8554/camera_test

输入指令后的显示效果如下:

有关利用FFmpeg实现windows和linux(federo系统)在局域网环境中的usb摄像头RTSP推流与拉流(在同一局域网下任意PC设备都可以进行拉流操作)的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  3. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  4. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  5. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  6. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  7. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  8. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  9. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  10. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

随机推荐