- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在装有 Ubuntu 14.04 LTS 的服务器上安装了支持 SSL 的 Icecast2 2.4.1。同样在此服务器上工作的 HTTPS 网站。我想在页面上插入 HTML5 播放器,它也将通过 SSL 获取流(否则 - 混合内容错误)。该网站有一个商业 SSL 证书,Icecast - 一个自签名的。Icecast 配置文件:
<icecast>
<location>****</location>
<admin>admin@*************</admin>
<limits>
<clients>1000</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<source-timeout>10</source-timeout>
<burst-on-connect>0</burst-on-connect>
<burst-size>65535</burst-size>
</limits>
<authentication>
<source-password>*****</source-password>
<relay-password>*****</relay-password>
<admin-user>*****</admin-user>
<admin-password>*****</admin-password>
</authentication>
<hostname>************</hostname>
<listen-socket>
<port>8000</port>
<ssl>1</ssl>
</listen-socket>
<mount>
<mount-name>/stream</mount-name>
<charset>utf-8</charset>
</mount>
<mount>
<mount-name>/ogg</mount-name>
<charset>utf-8</charset>
</mount>
<fileserve>1</fileserve>
<paths>
<basedir>/usr/share/icecast2</basedir>
<logdir>/var/log/icecast2</logdir>
<webroot>/usr/share/icecast2/web</webroot>
<adminroot>/usr/share/icecast2/admin</adminroot>
<alias source="/" dest="/status.xsl"/>
<ssl-certificate>/etc/icecast2/icecast2.pem</ssl-certificate>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>4</loglevel>
</logging>
<security>
<chroot>0</chroot>
<changeowner>
<user>icecast2</user>
<group>icecast</group>
</changeowner>
</security>
</icecast>
Icecast 证书 (/etc/icecast2/icecast2.pem) 生成者:
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout icecast2.pem -out icecast2.pem
我希望从地址 https://domain.name:8000/stream 得到输出流https://domain.name:8000/ogg用于通过标签音频插入播放器,但作为响应 - 静音。因此,带有简单 http 的地址一切正常。没看懂什么都一样的错误...预先感谢您的帮助!
最佳答案
我最近遇到了这个问题,但没有太多时间来解决它,也没有看到很多相关文档。我认为它不是使用最广泛的 icecast 配置,所以我只是用 nginx 代理我的配置,它工作正常。
这是一个 nginx 虚拟主机示例。请务必更改域、检查您的路径并考虑您希望挂载代理到的位置以及您希望如何处理端口。
请注意,这将使您的流在端口 443 而不是 8000 上可用。某些客户端(例如 facebookexternalhit/1.1)可能会尝试卡在流上,认为它是一个等待连接的 https url。这可能不是您期望或希望的行为。
此外,如果您根本不想使用 http,请务必将绑定(bind)地址更改回本地主机。例如:
<bind-address>127.0.0.1</bind-address>
server {
listen 80;
server_name www.example.com;
location /listen {
if ($ssl_protocol = "") {
rewrite ^ https://$server_name$request_uri? permanent;
}
}
}
#### SSL
server {
ssl on;
ssl_certificate_key /etc/sslmate/www.example.com.key;
ssl_certificate /etc/sslmate/www.example.com.chained.crt;
# Recommended security settings from https://wiki.mozilla.org/Security/Server_Side_TLS
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:
ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA
-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES2
56-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
ssl_dhparam /usr/share/sslmate/dhparams/dh2048-group14.pem;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:5m;
# Enable this if you want HSTS (recommended)
add_header Strict-Transport-Security max-age=15768000;
listen 443 ssl;
server_name www.example.com;
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
关于ssl - 为什么 Icecast2 不想通过 https 提供流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30237748/
我几天前才开始使用icecast,所以如果我在某个地方塞了什么东西,请告诉我。 我对icecast有一个奇怪的问题。每次在icecast上“完成”一首轨道时,当前播放轨道的结尾部分(我认为轨道的64k
在 Ubuntu 16.04 上运行 Icecast 2.4.99.2 只是文件并想添加一个介绍文件。使用从 Darkice 默认声卡输入安装的工作源,当我添加 标记到挂载的 Icecast 配置文件
我尝试将两个流与 Liquidsoap 混合,一个在左侧,另一个在右侧,如何混合它并将其流式传输到 Icecast 服务器。我已经用 darkice 传输这两个流了 这是我的伪代码 stream1 =
Stack Overflow 的其他地方有一个关于让 Icecast 出现在端口 80 上的问题,我已经阅读了该问题,但仍然无法让我的服务器在端口 80 上工作。 我的 icecast.xml 有这些
我通过以下方式在我的 Windows 机器上使用 FFmpeg 流式传输到 Icecast 服务器(声卡线路输入): ffmpeg -f dshow -channels 2 -i audio="Lin
我使用的是 Icecast 2.3.3。 我想使用 URL 流身份验证,问题是身份验证服务器 url 没有被 Icecast 服务器调用,我不知道为什么。 Icecast服务器在Azure上的Linu
我使用的是 Icecast 2.3.3。 我想使用 URL 流身份验证,问题是身份验证服务器 url 没有被 Icecast 服务器调用,我不知道为什么。 Icecast服务器在Azure上的Linu
不确定这是否可行,我配置了一个icecast服务器并播放音乐,并且我想使用Java(或grails)创建一个网络播放器。我设法让 Java Web 应用程序播放 Icecast 正在流式传输的音乐,使
我正在编写一个 Icecast 源代码。源目前处理 MP3。应用程序可以解析 MP3 文件以检索各个帧和其他元数据。应用程序正确地将元数据发送到Icecast服务器。 当应用程序尝试将 MP3 帧 发
我正在尝试(在 NodeJS 中): 连接到 Icecast互联网音频流。例如:http://icecast3.977music.com/comedy 解析响应 header 并提取 icy-meta
所以我知道使用 FFMPEG 你可以阅读 srt://现在我现在您也可以拍摄视频并将其仅转换为音频。 但是我们遇到的问题是 我们不知道如何只发送视频中的音频srt到icecast服务器 到 iceca
是否有任何网络播放器(如 jwplayer 或 video.js)支持从 Icecast 播放音频流,并且还能够在流中接收到新元数据时引发事件? JWPlayer 有这个 http://support
这是尝试使用终端(命令行)从服务运行 icecast2 时的错误:sudo icecast2 -b -c/etc/icecast2/icecast.xml 错误信息: EROR connection/
我需要向 Icecast 流添加额外的元数据(除了艺术家和歌曲标题)。我已经尝试了很多想法,但似乎没有一个能产生任何结果。情况变得更加复杂,因为元数据也通过了重新传输 Icecast 流的 Wowza
我试图安排一个 liquidsoap 流媒体源在未来的特定日期和时间播放。我相信这可以使用 Liquidsoap switch 命令来完成,但我无法理解此处描述的文档:http://liquidsoa
我正在寻找从 Ice Cast 流媒体广播中提取歌曲名称。我得到了冰冷的流派、冰冷的名字等等。但不是歌名。我们可以从流中提取它吗? 最佳答案 根据您的问题,我认为您已经将 Icy-Metadata:
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 8 年前。 Improve this ques
有没有办法可以将实时音频输入从浏览器发送到 Icecast 服务器? 我正在使用 getUserMedia API 来接收音频输入,我希望这是到 Icecast 服务器的实时流。 getAudioIn
我想获取互联网音频/广播流(特别是Longplayer,单击以获取直接流URL)并用python播放。 最好是在后台运行,以使脚本能够继续运行其主循环。 (例如,作为游戏背景音乐或其他东西,尽管Pyg
我想知道是否有人遇到过类似的问题: 我在 Icecast2 中定义了后备安装,以便始终播放一个主要流。如果另一个后备安装变为事件状态,则后者将变为事件状态。我已经使用 ffplay 测试了流(mp3
我是一名优秀的程序员,十分优秀!