实时流媒体服务器搭建试验(nginx+rtmp)

从零到一:构建支持H265的RTMP全链路(推流、服务、播放)实战 本文详细介绍了如何从零构建支持H265的RTMP全链路,包括推流端、服务器和播放端的实战改造。通过FFmpeg定制、SRS服务器改造和播放器适配等关键步骤,解决了原生RTMP协议不支持H265的技术瓶颈,为视频直播行业的高效编码提供了可行方案。 阅读详情

试验环境

linux centos7.3

软件包

服务器相关软件包下载网址:https://download.youkuaiyun.com/download/ddazz0621/12688329

推流及播流软件包下载网址:https://download.youkuaiyun.com/download/ddazz0621/12700904

服务器安装

将服务器相关软件包放至 /home/software(自己创建任意目录) 目录下,并全部解压。

  • 安装pcre库命令

tar -zxvf pcre-8.40.tar.gz
cd pcre-8.40

./configure
make && make install
  • 安装nginx+rtmp模块+openssl命令


tar -zxvf nginx-1.17.1.tar.gz
tar -zxvf nginx-rtmp-module-1.2.0.tar.gz
tar -zxvf openssl-1.0.1f.tar.gz

cd nginx-1.17.1

./configure --prefix=/usr/local/nginx_rtmp --with-http_ssl_module --add-module=../nginx-rtmp-module-1.2.0 --with-openssl=../openssl-1.0.1f

make && make install

 nginx安装成功如下图

推流播流软件安装

  • 安装nasm依赖库
tar -zxvf nasm-2.15.03.tar.gz 
cd nasm-2.15.03/
./configure 
make && make install

 安装成功如下图

  • 安装x264依赖库

tar -jxvf x264-master.tar.bz2
cd x264-master

./configure --enable-shared
make && make install

安装成功如下图

  • 安装 ffmpeg软件
tar -jxvf ffmpeg-snapshot.tar.bz2
cd ffmpeg/

./configure --enable-libx264 --enable-gpl --enable-shared  --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --enable-pic

make && make install

安装成功如下图

  •  安装windows下安装播流软件VLC(直接双击exe安装) 

试验演示

  • 配置文件里面加rtmp模块,启动nginx
rtmp {
	server {
		listen 1935;
		chunk_size 4000;
		application video{
			live on;	#开启实时
		}
	}
}

  • 启动播流软件

打开VLC media player软件,设置 ‘媒体’->'、‘打开网络串流’ 如下图

  • 启动推流软件

将需要播放的视频放在指定目录(/home/software/)下,然后执行命令如下图

命令:ffmpeg -re -i /home/software/lijd.mp4 -vcodec copy -acodec copy -b:v 800k -b:a 32k -f flv rtmp://192.168.200.154/video

 视频流播放如下图

可能遇到的问题

ffmpeg安装后运行缺少好多动态库如下:

 在/etc/ld.so.conf.d目录下创建ffmpeg.conf文件,将所依赖动态库绝对路径加到文件中。

 执行ldconfig命令加载配置,后就可以了。

OBS录屏直播全攻略:从新手到进阶,一文搞定 在视频制作与直播场景中,信号采集、编码与输出是底层技术核心。从屏幕录制到摄像头画面,再到音频混合,所有内容都需要经过采集、滤镜处理、场景合成与编码输出这条完整链路。理解这条链路,不仅是排查黑屏、无声等问题的关键,也是实现虚拟摄像头、绿幕抠像等进阶功能的基础。无论是网课录制、游戏直播还是企业培训,掌握一套高效的工具链至关重要。OBS作为开源录屏与直播软件,通过场景与来源管理,将不同信号统一编码并推流至多平台,甚至借助multi RTMP实现多平台同时分发。本文从零开始,梳理OBS的核心概念、常用配置与高频问题 阅读详情

相关推荐

【信息科学与工程学】计算机科学与自动化—第十五篇 云计算 11 算法篇02

但若第一个应用需求40GB/s,第二个10GB/s,总需求50GB/s>40GB/s,第一个得32GB/s,第二个得8GB/s,不公平。但若分区负载不均(分区1-2各有100任务/s,分区3-4各有50任务/s),A负责1-2(200/s),B负责3-4(100/s),仍均衡。任务 τi​ 的计算需求 Wi​(CPU周期),在频率 f 下执行时间 Ti​=Wi​/f,能耗 Ei​=Pdyn​⋅Ti​=Ceff​⋅V2⋅f⋅(Wi​/f)=Ceff​⋅V2⋅Wi​。若 Mneed​>Mi​,需使用远程显存。

weixin_49199313的博客 106

Simple-RTMP-Server 服务器测试

服务器镜像获取 github源码地址 git clone https://github.com/winlinvip/simple-rtmp-server.git 编译系统 ./configure –disable-all –with-ssl –with-hls –with-nginx –with-ffmpeg –with-transcode make make install 安装命令会

摩西的专栏 1514

【信息科学与工程学】计算机科学与自动化——第八十六篇 各类应用上云计算 01

数字孪生:核心是实时性不等式(Δ<Δt)与带宽-精度权衡。数学上归结为带约束的非线性优化。预测性维护:从物理退化方程(Paris 定律)出发,结合贝叶斯推断,云端训练用深度时序模型,边缘推理用轻量模型。机器人协同:本质是多商品流 + 动态障碍物,需用图论(冲突检测)+ 最优控制(轨迹平滑)。工业视觉:延迟由四个环节组成,需用排队论分析流水线瓶颈,量化感知是降低延迟的关键。液压/气动系统上云(涉及流体力学、热力学、控制)机械臂力控/阻抗控制上云(涉及动力学、力/位混合控制)

weixin_49199313的博客 199

SRS流媒体服务(四)WebRTC实现实时视频通话和低延时互动直播

使用webRTC API实现实时的视频通话和低延时互动直播

weixin_44341110的博客 8404

【信息科学与工程学】【安全领域】第七十篇 负载均衡设备的主要算法01

每个服务器有一个对槽位的偏好排序, 调度器(表)需要为每个槽位分配一个服务器, 目标是整体上满足所有服务器的偏好(即均匀填充), 同时保持稳定性(变化小)。: 对于一个新到达的请求, 如果将其分配到当前有cj个请求(包括正在服务的)的服务器sj, 其期望等待时间为 (cj + 1) / μj。输入:服务器集群S={s1, s2, ..., sn}, 权重W={w1, w2, ..., wn}, 当前指针i。输出:选中的服务器sj。输入:服务器集群S, 各服务器当前活动连接数cj, 各服务器预设权重wj。

weixin_49199313的博客 521

AI智能体安全沙箱agentguard:为LLM代码执行筑起防火墙

在AI应用开发领域,大语言模型(LLM)驱动的智能体(Agent)能够自动生成并执行代码,极大地提升了自动化能力。然而,赋予AI直接执行系统命令的权限也带来了显著的安全风险,如恶意代码注入、敏感数据泄露和系统资源滥用。为了解决这一核心矛盾,安全沙箱技术应运而生,它通过在不可信代码与宿主系统之间建立隔离层,实现"默认拒绝、最小权限"的安全原则。agentguard项目正是这一理念的工程实践,它结合白名单机制与容器化隔离,为AI智能体提供了可配置、可审计的安全执行环境。该方案不仅适用于内部自动化工具开发,也为构

weixin_28695537的博客 296

nginx rtmp 视频流服务器直播测试

一、配置 1、nginx流媒体服务器 下载nginx源码,nginx-rtmp-module源码,先configure “–add-modeule=…” …, 再编译安装,教程很多,略……。 先增加如下配置. 再配置路由器端口映射: 二、VLC测试 Ffmpeg推流转发rtmp://live.hkstv.hk.lxdns.com/live/hks视...

热爱生活,忠于自己 4904

VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表

VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表

weixin_45355881的博客 4708

安装和测试SRS流媒体服务器

安装和测试SRS流媒体服务器

m0_74139794的博客 3720

rockchip rk3566 android11 网口log报错: DMA engine initialization failed

问题描述:上电初始化前将网口插入,然后上电初始化网口能够正常使用,且能够找到PHY,ifconfig 查看能够有eth0 产生,网口正常使用且能够热插拔,但上电初始化时,不插入网口,就会报DMA engine initialization failed 错误,DMA 初始化的时候出错了。 分析:一般产生这个问题可以认为是GMAC 的工作时钟出问题了。先测量时钟引脚是否有时钟,时钟频率以及幅度等指标是否正常,主要确认以下几个方面: 1.IOMUX 出错,检查时钟脚寄存器值是否正确。 2.时钟方向以及配置

qq_48709036的博客 2万+

如何获取SAP BTP账户及BAS启用

返回到 Service Marketplace 点击SAP Business Application Studio 然后go to Application。进入子用户的OverView里面找到Entitlements添加SAP Business Application Studio。注意:在选购BTP免费环境的时候,使用人要选公司才可以成功。在完成上述操作后,就可以登陆Cockpit。这里有SAP官方的BTP试用的手顺链接。配置权限※我绑定的是登录时的邮箱。※过程中有问题可以在评论区讨论。

wangshulong2013的博客 722

搭建RTMP服务器

搭建RTMP服务器

xgl6166的博客 2640

springboot + netty 实现多客户端登录 超出设备 并下线

本文档旨在详细描述多平台登录控制的需求和实现方案。当前系统仅支持单设备登录,需扩展为支持多设备同时在线,并提供多种登录策略。文档详细列出四种策略:单平台登录、双平台登录、三平台登录和多平台同时在线,每种策略的具体限制和支持平台。技术实现方案包括数据结构设计、NettyUtils 工具类方法、WebSocketHandler 修改,以及相应的测试方案

Likefr 1877

linux rtmp流服务器,实时流媒体服务器搭建试验(nginx+rtmp)

实时流媒体服务器搭建试验(nginx+rtmp)实时流媒体服务器搭建试验(nginx+rtmp)试验环境linux centos7.3软件包服务器相关软件包下载网址:https://download.youkuaiyun.com/download/ddazz0621/12688329推流及播流软件包下载网址:https://download.youkuaiyun.com/download/ddazz0621/127009...

weixin_39629093的博客 282

RK3568下MIPI屏幕调试技巧

通过合理配置设备树节点、精确计算像素时钟并完成编译烧录,可高效实现RK3568平台MIPI屏幕的点亮与显示调试。关键在于严格遵循屏幕规格书参数,结合内核日志定位问题,逐步优化时序配置。掌握这一流程后,开发者可快速适配不同分辨率、刷新率的MIPI屏幕,为嵌入式系统显示模块开发奠定基础。如果在调试中遇到特定问题(如驱动匹配失败、时钟计算误差),建议优先查阅屏幕规格书和RK3568芯片手册,或通过内核社区(如Linux-DRI邮件列表)获取支持。

文石_2009的博客 1204

朱长江《偏微分方程简明教程》答案第一章部分

偏微分方程简明教程第一章习题1.1 第一章 习题1.1 1、指出下列方程的阶,并判断它是线性的还是非线性的。如果是线性的,说明它还是其次的: (1)ut−(uxx+uyy)+1=0;(2)ut−uxx+xu=0;(3)ut−uxxt+uux=0;(4)ux2+uuy=0;(5)utt−uxx+t2+x2=0;(6)ux+eyuy=0;(7)ut+uxxxx+1+u=0;(8)ux(1+ux2)−12+uy(1+uy2)−12=0;(9)∂4u∂x4+2∂4u∂x2∂y2+∂4u∂y4=0;(10)∂3u∂x

ymengm的博客 6760

C++ RTMP服务器部署与调试实战:从编译到高并发的完整指南

实时消息传输协议(RTMP)是流媒体领域的核心协议之一,它通过建立持久连接实现低延迟的音视频数据传输。其工作原理基于握手、分块和命令消息交换,确保了流媒体传输的实时性和可靠性。在技术价值上,RTMP协议为直播、在线教育等场景提供了稳定的底层支持。实际应用中,开发者常需自主搭建RTMP服务器以满足定制化需求。本文聚焦于C++编写的开源RTMP服务器crtmpserver,针对其**编译依赖**管理与**高并发**场景下的稳定性调优等核心挑战,提供从环境配置、问题排查到性能优化的系统性解决方案,帮助开发者构建更

weixin_29192365的博客 337

Ceres&OpenCV 单目相机标定(论文复现)

Ceres&OpenCV 单目相机标定(论文复现)

dayuhaitang1的博客 368

搭建srs流媒体服务器

参考:  https://github.com/winlinvip/srs 方案: 搭建流媒体服务器之后,采用ffmpeg推流(也可以使用obs推流),VLC拉流观看   1、下载SRS源码 git clone https://github.com/ossrs/srs 2、安装SRS cd srs/trunk ./configure &amp;&amp; make 3、运行 ...

weixin_41869700的博客 2443

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(八)

第八部分---FFmpeg移植到Android 最近这几天一直在搞FFmpeg的Android移植,我的目标是在Linux上对FFmpeg进行交叉编译最终得到可以push到Android目录下执行的ffmpeg可执行文件。 为了达到这个目的,完成对FFmpeg的移植,我可以说是查遍了几乎所有网络文章,试遍了网上的各种方法,但最终还是出现各种各样的错误,真是蛋蛋碎了一地阿! 刚刚开始试验的时候

一点一滴积累! 3411

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

直播app源代码,如何实现系统推流和拉流

前言 这篇文章主要记录直播app源代码DEMO的实现,主要通过RTMP推流,通过HTTP-FLV拉流,并在页面中播放。 同系列文章: 视频直播知识之一:数据的采集和编码 视频直播知识之二:推流、拉流和服务端处理 视频直播知识之三:播放端播放 视频直播知识之四:直播DEMO 1 搭建流媒体服务器 安装添加RTMP和HTTP-FLV模块的Nginx,并进行配置。 如果已安装过nginx,可以跳过安装步骤,直接添加模块,这里不再赘述。 1.1 安装Nginx 以CentOS系统为例: 首先更新C

QQ1981747098的博客 2129

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

《CDN技术详解》 - CDN知多少?

  开发时间久了,就会接触到性能和并发方面的问题,如果说,在自己还是菜鸟的时候完全不用理会这种问题或者说有其他的高手去处理这类问题,那么,随着经验的丰富起来,自己必须要独立去处理了。或者,知道思路也行,毕竟当下,分工如此精细,你也不太可能啥都干!   面对高性能高并发的应用场景,在开发者的层面可以做很多,如使用优化的代码,优化的sql,读写分离,nosql缓存,页面静态化等等。但是代...

weixin_30715523的博客 99

CnOpenData 线上招聘网站信息数据

CnOpenData线上招聘网站信息数据库是一个覆盖中国主流招聘平台、时间跨度长、更新频率高的劳动力市场需求侧大数据集合。本数据库汇集了,为学术界和业界提供了一扇实时观察中国劳动力市场动态的窗口。

CnOpenData_wj的博客 2597

FFmpeg直播推流实战:5分钟搞定RTMP服务器搭建与推拉流测试(含阿里云ECS配置)

本文详细介绍了如何使用FFmpeg在阿里云ECS上快速搭建RTMP服务器并完成直播推拉流测试。从云服务器配置、Nginx+RTMP模块部署到FFmpeg推流实战技巧,提供了一站式解决方案,帮助开发者5分钟内验证直播流程,适用于内容创作、在线教育等场景。

nokia的博客 739

FFmpeg 常用命令汇总

​​​​​​经常用到做一些视频数据的处理转换等,用来做测试,今天总结了一下,参考了网上部分朋友的经验,一起在这里汇总了一下。

李赛赛的专栏 9268

Centos8.2云服务器通过nginx + nginx-rtmp-module搭建流媒体服务器实现低延迟推拉流

Centos8.2云服务器通过nginx + nginx rtmp 方式搭建流媒体服务器 一. 准备工作 1、虚拟机系统: Centos8.2 (本人使用的是腾讯云服务器) 2、软件包:nginx-1.18.0.tar.gz 、nginx-rtmp-module 3、远程工具:宝塔面板 4、推流工具:OBS 5、拉流工具:VLC 二. 开始搭建 新建好服务器之后,首先进入root模式,在root模式下配置宝塔面板: 如果是Centos系统可以按照如下命令一键配置宝塔面板 yum install -y wge

HC_wood的博客 2552
上一篇: C++ 函数对象(仿函数)
下一篇: MySQL C++ 封装接口及事务测试验证
码农诗人
博客等级 码龄11年 986粉丝 84原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值