将视频从 Ubuntu 服务器流式传输到 Android 设备

use*_*289 16 server android stream

我有一个无头 Ubuntu 12.04 服务器。我在服务器上有很多视频。其中大部分是 .mkv 中的 x264。我有一部三星 Nexus 手机和一部 Nexus 7 平板电脑。

当从 Ubuntu 服务器流式传输到 Android 时,我有哪些选择?我得到了 smb 并运行。我的一些朋友在谈论DLNA,“Playstation媒体服务器”可以解决吗?

ccp*_*zza 8

通过纯 HTTP 提供服务

\n

最简单的解决方案是服务器上的 HTTP 与带有可以进行 HTTP 流式传输的视频播放器的 Android 客户端相结合,例如VLCNova Video Player适用于 android 的 mpvMxPlayer(支持广告)。有很多 HTTP 服务器可供选择:

\n

这里有一些单衬。

\n

Python 2.x(\xe2\x9d\x97\xef\xb8\x8f无寻求支持)

\n
$ python -m SimpleHTTPServer 8000\n
Run Code Online (Sandbox Code Playgroud)\n

Python 3.x(\xe2\x9d\x97\xef\xb8\x8f无寻求支持)

\n
$ python -m http.server 8000\n
Run Code Online (Sandbox Code Playgroud)\n

扭曲\xc2\xa0(Python)

\n

首先,如果尚未使用pip install -U twisted( pip3 install -U twisted) 安装twis​​ted 包,则:

\n
$ twistd -n web -p 8000 --path .\n
Run Code Online (Sandbox Code Playgroud)\n

启动 Web 服务器后,打开 Android 设备上的浏览器并输入 Ubuntu 盒子的 IP 和端口,例如http://192.168.1.123:8000

\n

您可以在 Ubuntu 上使用ifconfig来查看 IP 地址。

\n

HTTP oneliner 服务器的更扩展列表: https: //gist.github.com/willurd/5720255

\n

球童服务器

\n

我的首选是caddy使用内置file-server插件。Caddy 是用 Go 编写的,与上面的 python 选项不同,它是生产级软件,工作速度更快,并且可以执行允许搜索视频的范围请求。启动球童:

\n
$ python -m SimpleHTTPServer 8000\n
Run Code Online (Sandbox Code Playgroud)\n
\n

该线路:2030将使 caddy 侦听端口2030,以便您可以通过http://192.168.1.100:2030之类的地址访问它(替换为正确的 IP)。

\n
\n
\n

如果需要,caddy您还可以启用基本身份验证。

\n
\n

Samba 服务器端 + VLC/Kodi 客户端

\n

如果您需要在家庭网络中访问您的 ubuntu 盒子,那么您还可以在 Ubuntu 服务器上启用 Samba ,然后在您的客户端设备 (Android/Linux/Mac/Windows) 上添加 SMB 共享,如SAMBA HOWTO \xe2\x80中所示\x94\xc2\xa0 搜索将SMB 共享添加到 Kodi 方法 1|2。如果您需要的话,Kodi 还可以为您的电影生成预览并获取 IMDB 信息。

\n

VLC(移动版本)将能够发现和浏览您的 Samba 共享,无需额外的操作。桌面操作系统通常内置对 samba 共享的支持,因此您可以像本地文件系统一样浏览它们。

\n

客户端基于 Caddy 的媒体浏览器

\n

鉴于caddy\ 的file-server内置插件还可以返回 JSON 形式的目录列表,我创建了一个纯 js+html 的客户端媒体浏览器,只需要caddy使用自定义的Caddyfile. 它更像是一个概念验证项目,并不意味着任何严肃的事情:

\n\n

它在浏览器中工作,并且只能播放浏览器可以播放的视频格式,因此没有适当的 MKV 支持。

\n


Tak*_*kat 5

在您的 Android 设备上,您必须安装DLNA 客户端才能访问您在服务器上的媒体共享。

在您的服务器上,您必须运行 DLNA/UPnP 服务器才能访问共享。您的网络设置需要允许 UPnP 和多播(请检查您的路由器)。

几种解决方案,你可以选择一个UPnP的服务器上。随着MiniDLNA,一个leightweight但功能强大的DLNA服务器,我们能流MKV,和X264的内容。这个应用程序是我在无外设服务器上运行的推荐。

我们可以从存储库安装它

sudo apt-get install minidlna
Run Code Online (Sandbox Code Playgroud)

有关设置的帮助,请参阅:https : //help.ubuntu.com/community/MiniDLNA

  • 值得注意的是,并非每个版本的 Android 都支持所有类型的媒体格式。虽然 4.0+ 版本的较新设备支持最常见的格式,但旧版本和功能集有限的处理器可能会出现问题。最重要的是,设备制造商仍然可以搞乱平台的默认格式支持。当然,Android 提供了在软件中进行解码的播放器,但这主要是一种变通方法,并且会消耗电池寿命。http://developer.android.com/guide/appendix/media-formats.html (2认同)

chr*_*tis 2

对于使用 UPnP 媒体服务器规范的媒体流,我会查看:

  1. Mediatomb - 在后台运行,提供媒体服务,有一个可用于构建库的 Web 界面。

  2. Kodi - 通常用作客户端,但您可以在其中的网络选项下启用媒体服务。

您可以在软件中心找到这两者。

就 Android 客户端而言,有VLCKodi的移植。