欢迎光临散文网 会员登陆 & 注册

电脑当作视频服务器在手机或其他设备用浏览器播放电脑中的视频的方法(正好凑够40字)

2021-10-12 12:55 作者:s140335  | 我要投稿

0. Abstruct

本文介绍了一种极其简单且无比方便的, 可火速搭建的方法. 在一台计算机上开启服务便可在局域网内其他有浏览器的设备上, 例如手机, 使用浏览器播放开启服务的那台计算机中的视频. 结合3.5节中提到的优化方法, 可较为流畅地播放视频. 第1节是小剧场可以跳过, 直接看第3节方法介绍. 在第5部分介绍了该方法的其他应用场景. 

1. Introduction

想象一下, 因为疫情你的学校还在上网课. 在一个工作日的下午2点, 网课开始了. 尽管老师会把课录下来挂在网上, 但是患有强迫症的你还是习惯自己录屏, 毕竟老师版录屏录不上聊天框. 然而这门课你已经有两节没听了, 患有强迫症的你又不想打断自己大脑接受知识的顺序, 所以你并不打算听这节课, 而是先录下来再说. 那么现在干什么呢? 

你已经玩了一上午了, 你感觉不能再玩下去了, 但是又不能用电脑播放上节课的录屏, 因为它发出的声音会跟这节课老师的声音掺杂在一起, 上节课的听不清楚这节课的录不清楚. 你想起自己是计算机专业的, 电饭锅都能修这点事还解决不了? 那么怎么办呢? 将上节课录像的各比特位通过通用串行总线在你的移动设备上生成一个克隆? 不行, 六岁高龄的手机没有那么多空闲的存储空间. 那先歇着等这节课讲完在看? 想什么呢你已经玩了一上午了. 那把上节课的视频上传到b站然后用手机看? 课程内容是绝密, 绝对不能让第118个人知道. 那把上节课的视频拷到优盘上然后用电视放? 好主意我当时怎么没想到. 综上, 有了第3节介绍的方法. 

2. Related Work

网上搜到的方法大部分都需要设置共享文件夹和SMB并在播放端, 如手机, 下载软件来播放. 显然, 这种方法不够优雅, 而且有时候完全按教程操作了却无法成功(比如我). 

Windows其实提供了媒体流选项, 用户可以启用媒体流来将音乐, 图片和视频发送到网络上的其他计算机和设备. 反正我是没鼓捣明白咋整. 

3. Methodology

此方法虽然无法完全保证在不同网络环境和设备下能够正常运行, 但是HTTP这种较为常用的播放方法可能更容易成功. 

3.1 Python的HTTP服务

HTTP是一种常用的展示网页的协议, 当某目录下没有网页文件时默认会展示当前目录下的文件和文件夹. 好消息是, Python自带一个一键启动的HTTP服务, 但坏消息是你得先装个Python. 本文适用于Python3及以上的版本, Python2的HTTP服务启动命令略有不同请自行查阅. 

3.2 安装Python

你可以去官网[5]自行下载Python3的安装包, 但可能会很慢, 也可以直接下我下好的[6]. 下载完打开, 按下图所示下面红框一定要勾选然后点上面的红框快速安装


下面红框一定要勾选然后点上面的红框

3.3 开启HTTP服务

有两种方法. 

第一种. 这种方法不需要打开命令行并移动到目标目录下就可以执行命令, 仅需在下文提到的bat文件中写入要执行的命令, 保存后双击运行即可. 缺点是看不到执行命令的输出. 

在你想要播放的视频存储的目录下新建文本文档.txt, 改个有辨识度的名字, 打开, 并在里面输入

然后保存, 并将后缀txt改成bat. (如果你新建的文件没有txt后缀请勾选下图中红框)

如果你新建文件没用txt后缀请勾选下图中红框

然后双击这个bat文件打开, 出现黑色命令行窗口, 显示

其中8000是端口号. 此时HTTP服务成功开启. 

第二种方法

在你想要播放的视频存储的目录下, 按Shift+右键, 选择"在此处打开powershell窗口", 或参考[2]添加"在此处打开命令提示符"到右键菜单并打开. 无论你打开的是蓝框还是黑框, 在里面输入

如果显示

则http服务成功开启, 其中8000是端口号

3.4 连接开启的HTTP服务

这个HTTP服务只能从局域网内被访问到, 所以你的播放设备要跟开启HTTP服务的电脑(下文简称电脑)连接同一网络, 或者播放设备连接电脑开的热点. 

首先你得知道电脑的局域网ip地址, 可在开始菜单>设置>网络和Internet>状态>属性中最下方属性部分找到, 形如192.168.101.2. 

然后在播放设备打开浏览器, 在地址栏中输入上面中找到的IP地址, 英文冒号, 以及3.3节中HTTP服务的端口号. 如

然后回车便可看到你想要播放的视频存储的目录下的文件和文件夹, 点击条目播放即可

3.5 优化视频加载速度

一句话总结[1]中的原理: 视频文件中有一个"目录", 必须先加载这个目录才能播放, 如果目录不在文件开始处, 播放器需要下载整个视频文件找到这个目录才能开始播放, 如果该目录在文件开始处, 那么播放器见到这个目录后就能立即开始播放视频而不用完全下载下来. 

使用命令行执行如下命令将视频文件中的"目录"移动到开始部分

其中input.mp4是输入文件, 请改成你要处理的视频的文件名或文件完整路径, output.mp4是输出文件名, 也可以改. 请参考[2]来添加"在此处打开命令提示符"到右键菜单再打开来执行上述命令, 比较方便. 或者参考3.3节第一种方法运行此命令. 

显然, 执行上述命令需要安装ffmpeg, 请在[3]处下载并参考[4]配置. 

4. Ablation study

不使用3.5中介绍的优化视频加载速度的方法的话, 播视频就像抽奖, 大部分都慢得离谱, 使用3.5中优化方法之后的视频就加载得很快了.

5. Conclusion and futurework

尽管本文看起来十分冗长, 但是除像是如何打开命令行这种常识以及第一次使用的安装步骤以外, 内容还是十分简短的, 只有打开HTTP服务和优化视频文件两条命令. 俗话说, 好吃不过包子, 舒服不过躺着, 本文提供的方法同样适用于在家中任何时间和地点, 如用膳或就寝时, 播放电脑中保存的其他视频文件, 而不用纠结如何摆放电脑, 仅需一台可以打开网页的移动设备即可. 

本文播放视频使用HTTP传输数据, 使用其他专门的流媒体协议如RTMP或HLS可能可以进一步优化使用体验. 将一个视频文件切片储存可以进一步提高播放时的加载速度, 但是这种方法过于复杂不适用于本文所述的使用场景. 本文提到的视频文件优化方法命令一次只能处理一个视频文件, 同时处理多条视频的方法也需要进一步研究, 其实就是写个脚本而已, 聪明的你肯定会写.

Reference

[1] 优化MP4视频 https://blog.csdn.net/u013575592/article/details/104175152

[2] 添加cmd到右键菜单 https://blog.csdn.net/qq_43793784/article/details/110873280

[3] ffmpeg官网下载 https://www.gyan.dev/ffmpeg/builds/

[4] ffmepg配置 https://www.jianshu.com/p/2b609afb9800

[5] python官网下载https://www.python.org/downloads/

[6] python安装包阿里云镜像 https://www.aliyundrive.com/s/EB2wpt3k7qD

数据无价,谨慎操作; 码字不易,有用请赞.



电脑当作视频服务器在手机或其他设备用浏览器播放电脑中的视频的方法(正好凑够40字)的评论 (共 条)

分享到微博请遵守国家法律