草庐IT

android - WOWZA + RTMP + HTML5 播放?

coder 2024-01-14 原文

我有 Wowza 并正在测试 RTMP 流媒体。现在就像在 Wowza RTMP 示例中一样,我现在可以:

  • 通过 Flash 播放
  • 通过适用于 iOS 的 HTML5 播放
    • <video x-webkit-airplay="allow" type="video/m3u8" src="http://xx.xx.xx.xx:1935/live/myStream/playlist.m3u8" />

也就是说,到现在为止,我可以通过以下方式播放:

  • Flash (我最后不想要它)
  • iOS HTML5

那么如何让它继续播放:

  • 非 iOS 浏览器的 HTML5?

对于 HTML5 上的 iOS:

<video x-webkit-airplay="allow" type="video/m3u8" src="http://xx.xx.xx.xx:1935/live/myStream/playlist.m3u8" />

适用于 Android 或 Windows 或任何其他浏览器的 HTML5?

最佳答案

您在 iPhone 上使用的 HTML 5 直播通常称为“HLS”。目前大多数桌面浏览器不支持通过 HTML 5 视频标签的 HLS。

但是,使用 Wowza,您几乎可以轻松地将直播流放到任何屏幕上。

iOS:

你被覆盖在那里。从 Wowza 到 iOS 设备的 HLS 直播就像一个魅力。

桌面:

不幸的是,对于桌面浏览器,您仍然只能使用 Flash 进行直播。您可以通过以下两种方式之一执行此操作:

  1. 使用典型的 Flash 媒体播放器,例如 JWPlayer,如您所述,使用久经考验的 RTMP 方法。

  2. 使用支持 HLS 流的 Flash 媒体播放器(例如 JWPlayer)。在这种情况下,您将使用与用于 iOS 流的相同端点。我一直在桌面上的闪存中以这种方式运行实时流。为了我的钱,我更喜欢将 HLS 用于桌面,因为我在一天结束时只处理所有设备上的直播流的一种协议(protocol)。我还发现性能非常好。

您可以在此处阅读 JWPlayer 中的 HLS 支持:

http://support.jwplayer.com/customer/portal/articles/1430189-about-hls-streaming

请注意,JWPlayer 中的 HLS 支持仅限于其企业版。

综上所述,我真的建议您查看 JWPlayer .在我看来,没有什么比在所有设备上运行直播更容易的了。

安卓:

尽管 Android 在技术上不支持 HLS,但我发现在许多 Android 设备(包括 Galaxy S4 和 HTC One)上,在视频标签中使用 HLS 流就像在 iOS 上一样。因为我读过的所有内容都表明 Android 不支持 HLS,所以我只能假设此功能是由各个制造商添加的。或者,您向 Android 用户提供一个链接,该链接指向 Wowza 在其默认应用程序配置中生成的 rtsp 流。在大多数其他 Android 设备上,可以使用设备的 native 媒体播放器打开 rtsp 流。可以在此处找到有关 Android 直播的完整历史记录和解决方法:

http://www.jwplayer.com/blog/the-pain-of-live-streaming-on-android/

最后我要说的是,尽管在去年向多个设备进行实时流式传输变得更加容易,但仍然存在对接负载 fragment 化,这可能会使寻求实现解决方案的开发人员抓狂。此外,尽管大多数人都同意 HTML 5 视频规范是 future ,但该规范仍在广泛争论中,尚未真正“完成”。 Jeroen Wijering 有一篇关于该主题的文章,该文章会定期更新,在我看来,任何在 Web 应用程序中处理视频的人都需要阅读。我会仔细阅读它,并在您继续为网络开发视频解决方案时经常回来查看更新:

http://www.jwplayer.com/html5/

更新:

JWPlayer 现在正式支持 Android 4.1+ (Jellybean) 上的 HLS:

http://support.jwplayer.com/customer/portal/articles/1430189-about-hls-streaming

关于android - WOWZA + RTMP + HTML5 播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17906181/

有关android - WOWZA + RTMP + HTML5 播放?的更多相关文章

  1. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

    我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

  2. ruby-on-rails - 如何优雅地重启 thin + nginx? - 2

    我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server

  3. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

    在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

  4. ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB? - 2

    所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择

  5. ruby-on-rails - Ruby url 到 html 链接转换 - 2

    我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.

  6. ruby-on-rails - capybara ::ElementNotFound:无法找到 xpath "/html" - 2

    我正在学习http://ruby.railstutorial.org/chapters/static-pages上的RubyonRails教程并遇到以下错误StaticPagesHomepageshouldhavethecontent'SampleApp'Failure/Error:page.shouldhave_content('SampleApp')Capybara::ElementNotFound:Unabletofindxpath"/html"#(eval):2:in`text'#./spec/requests/static_pages_spec.rb:7:in`(root)'

  7. ruby - 使用 `+=` 和 `send` 方法 - 2

    如何将send与+=一起使用?a=20;a.send"+=",10undefinedmethod`+='for20:Fixnuma=20;a+=10=>30 最佳答案 恐怕你不能。+=不是方法,而是语法糖。参见http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html它说Incommonwithmanyotherlanguages,Rubyhasasyntacticshortcut:a=a+2maybewrittenasa+=2.你能做的最好的事情是:

  8. ruby - 如何使用 Ruby 将 CSV 文件读入 HTML 表格? - 2

    我正在尝试将一个简单的CSV文件读入HTML表格以在浏览器中显示,但我遇到了麻烦。这就是我正在尝试的:Controller:defshow@csv=CSV.open("file.csv",:headers=>true)end查看:输出:NameStartDateEndDateQuantityPostalCode基本上我只获取标题,而不会读取和呈现CSV正文。 最佳答案 这最终成为最终解决方案:Controller:defshow#OpenaCSVfile,andthenreaditintoaCSV::Tableobjectforda

  9. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  10. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

随机推荐