linux下推流软件,Linux下AdobeMediaServer5推流测试

2023-05-16

在正常搭建了AMS服务器后,想测试一下AMS搭建是否成功,于是通过PUSH本地视频到AMS上,然后再通过VLC或者AMS自带的播放器来播放直播流,测试成功。

以下,只是我的测试的步骤,第一次接触AMS,难免有不对或疏漏的地方,如有错误,多多指教,我会立马修改。

在测试RTMP 推流中,使用的雷博的代码。

一、web页面配置

1)端口确认

使用命令netstat -anp | grep “LISTEN” 确认是否开启端口

0818b9ca8b590ca3270a3433284dd417.png

如果没有开启,则使用下面的命令开启端口

iptables -I INPUT -p tcp --dport 1935 -j ACCEPT

iptables -I INPUT -p tcp --dport 1111 -j ACCEPT

service iptables restart

2)登录web

当在Linux上配置好AMS,并且确认开启1935 和 1111端口后,直接输入服务器的IP即可进入配置界面

0818b9ca8b590ca3270a3433284dd417.png

点击“Launch Administration Console”,然后输入创建服务器时的用户名和密码,即可进入Web配置页面

0818b9ca8b590ca3270a3433284dd417.png

二、测试

1)RTMP地址

1.发布流

RHEL6.4下安装Adobe Media Server 5 (http://www.linuxidc.com/Linux/2013-07/87732.htm)

中有介绍到,

AMS要发布的视频存放目录为webroot/vod下

发布RTMP地址为: rtmp://10.120.112.35:1935/vod/mp4:beijing5-360p.mp4

发布HTTP地址为: http://10.120.112.35/vod/beijing5-360p.mp4

2.接收流

即IPC将视频流推流到AMS服务器,推流的地址如下

rtmp://192.168.102.106/live/livestream

rtmp://192.168.102.106:1935/live/myStream

其中,上面的“livestream” 和 “myStream”可以自定义,前面的“live”则是根据你自己的AMS上面的application的定义,如下:

$ls samples/applications/

live livepkgr multicast vod

在网上查到的资料,这些applications可以根据自己的需要进行增加,有兴趣的可以百度下

2)测试

1.发布流测试

①VLC:

直接在VLC里面输入地址:rtmp://10.120.112.35:1935/vod/mp4:beijing5-360p.mp4

即可播放对应的视频

②RTMPDUMP

直接从网络上下载最新版的RtmpDump V2.4 ,编译之后,输入

./rtmpdump -o savename.flv -r rtmp://192.168.102.106:1935/vod/mp4:sample1_500kbps.f4v

即可下载对应的视频,log如下:

# ./rtmpdump -o savename.flv -r rtmp://192.168.102.106:1935/vod/mp4:sample1_500kbps.f4v

RTMPDump v2.4

(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL

Connecting ...

INFO: Connected...

Starting download at: 0.000 kB

INFO: Metadata:

INFO: duration 114.66

INFO: moovPosition 40.00

INFO: width 640.00

INFO: height 352.00

INFO: videocodecid avc1

INFO: audiocodecid mp4a

INFO: avcprofile 100.00

INFO: avclevel 30.00

INFO: aacaot 2.00

INFO: videoframerate 29.97

INFO: audiosamplerate 22050.00

INFO: audiochannels 2.00

INFO: trackinfo:

INFO: length 3438435.00

INFO: timescale 30000.00

INFO: sampledescription:

INFO: sampletype avc1

INFO: length 2528256.00

INFO: timescale 22050.00

INFO: sampledescription:

INFO: sampletype mp4a

1.583 kB / 0.00 sec (0.0%)

320.838 kB / 5.30 sec (4.6%)

576.838 kB / 10.68 sec (9.3%)

704.838 kB / 13.95 sec (12.1%)

832.838 kB / 15.95 sec (13.9%)

960.838 kB / 18.02 sec (15.7%)

1152.838 kB / 21.08 sec (18.3%)

6909.989 kB / 113.35 sec (98.8%)

WARNING: Larger timestamp than 24-bit: 0xfffffe5e

7000.217 kB / 114.61 sec (99.9%)

Download complete

③雷博代码

使用雷博的代码,目前出现问题

# ./simplest_librtmp_receive

ERROR: rtmp server sent error

ERROR: RTMP_ReadPacket, failed to read RTMP packet header

目前尚未找到原因。

2.推流测试

在代码将本地的文件push到rtmp://192.168.102.106:1935/live/myStream

运行之后,如果push成功,在可以在web配置页面看到下面的信息,其中“myStream”为自定义的信息

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

下图可以看到连接正常

0818b9ca8b590ca3270a3433284dd417.png

在VLC中直接输入刚才push的地址,即可看到代码PUSH的直播流

0818b9ca8b590ca3270a3433284dd417.png

在VLC连接成功后,可以从后台看到相关的信息

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

网页播放:

直接打开AMS安装路径下samples\videoPlayervideoplayer.html文件,

\192.168.102.106\AFS\AMS_5_0_3_r3029\samples\videoPlayervideoplayer.html

然后在打开的网页中输入PUSH流的地址,即可看到视频流

0818b9ca8b590ca3270a3433284dd417.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux下推流软件,Linux下AdobeMediaServer5推流测试 的相关文章

  • 用另一个文件的标签为图表(ggplot2)中的标题添加下标

    在我的程序中 我有两个主要文件 第一个包含数据 第二个包含标签 或图形标题 文件总数1 数据 3 10000 3 32039232 1 0 0017290351 2 0 0002781092 3 10001 3 32101193 1 0 0
  • 在 execl 在输出中不可见之前打印

    include
  • 如果文件没有行尾字符,则 wc -l 不计算文件的最后一个

    我需要计算 unix 文件的所有行数 该文件有 3 行 但是wc l仅给出 2 个计数 我知道它不计算最后一行 因为它没有行尾字符 任何人都可以告诉我如何计算这一行吗 grep c返回匹配行的数量 只需使用一个空字符串 作为您的匹配表达式
  • 我们如何在使用循环时调用 ansible playbook 中的变量

    我有两个文件 其中这些文件包含server names and server IP s 我想更改 替换一些特定的server names and IP addressees根据要求在两个文件中 这与这篇文章 因为它被要求开设一个新职位 ht
  • Pthreads - 高内存使用率

    我正在用 C 编写一些东西 在 256Mb 系统上的 Linux 中创建大量 Pthread 我通常有 200Mb 的免费空间 当我使用少量线程运行该程序时 它可以工作 但是一旦我让它创建大约 100 个线程 它就会出现错误 因为系统内存不
  • PIL 的 Image.show() 带来*两个*不同的查看器

    在 python shell 中处理图像时 我使用 image show 其中 image 是 Image 的实例 很久以前什么也没发生 但在定义了一个名为 xv 的 Mirage 符号链接后 我很高兴 最近几天 show 将显示 Imag
  • 应用程序中两个不同版本的库

    考虑一个场景 其中有两个不同版本的共享库 考虑 A 1 so 链接到 B so A 2 so 链接到 C so 现在 B so 和 C so 都链接到 d exe 当 B so 想要调用 A 1 so 中的函数时 它最终会调用 A 2 so
  • 我想在 Red Hat Linux 服务器中执行 .ps1 powershell 脚本

    我有一个在窗口中执行的 ps1 powershell 脚本 但我的整个数据都在 Linux 服务器中 有什么可能的方法可以让我在红帽服务器中执行 powershell 脚本 powershell脚本是 Clear Host path D D
  • 在 scapy 中通过物理环回发送数据包

    我最近发现了 Scapy 它看起来很棒 我正在尝试查看 NIC 上物理环回模块 存根上的简单流量 但是 Scapy sniff 没有给出任何结果 我正在做的发送数据包是 payload data 10 snf sniff filter ic
  • 在 Linux 中重新启动时,新创建的文件变为 0 kb(数据被覆盖为空)

    我遇到了一个奇怪的问题 这让我发疯 当前的任务是在 root 用户第一次登录时启动一组文件 并在同一用户第二次登录时启动另一组文件 我决定使用 profile 和 bashrc 文件 并在第一次登录期间发生的任务结束时重新加载 bashrc
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • bash while 循环的布尔表达式中的 -lt 意味着什么?

    我猜测它代表小于基于输出 但是我在哪里可以找到有关此语法的文档 bin bash COUNTER 0 while COUNTER lt 10 do echo The counter is COUNTER let COUNTER COUNTE
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • 使用 libusb 输出不正确

    我用libusb编写了一个程序 我怀疑输出是否正确 因为所有条目都显示相同的供应商和产品 ID 以下是代码 include
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win

随机推荐