美好的一天,哈伯。
我决定分享一种方法,您可以在不访问任何愚蠢的网站的情况下以高品质观看自己喜欢的电影/系列,因此希望您在赌场玩。
立即预订,我绝不敦促您使用盗版内容。 盗版是邪恶的。 始终购买许可的内容。
好吧,对于那些想要在其智能电视上观看不受版权保护的种子,而无需等待下载的人,下面是一种有趣的方式。
我有一台三星智能电视,我尝试在其上以不同方式观看电影。
我试图在Ubuntu上安装minidlna。 直到一段时间,它的工作都非常方便,但是有一天,dlna电视上的应用程序开始定期出现。 我仍然没有弄清楚这是怎么回事,可能没有成功更新。 无论如何,您只能观看完全下载的内容,这不是很有趣。
我尝试以老式的方式将电影上传到外部硬盘,然后将其连接到电视上。 几次后,它困扰了我。
结果,很长一段时间以来,我只是通过电视内置的浏览器进行浏览。 一段时间后,这种方法也变得非常糟糕。
我想要一些方便和简单的方法,这样我就不会立即等到所有内容加载完毕。
您说有一个Chromecast。 但我想在没有多余设备的情况下做所有事情。
事实证明,内置浏览器(与台式机Chrome不同)支持HLS。 好吧,为什么我们不只是在笔记本电脑上获取hls流,并通过浏览器观看。
因此,让我们开始吧。
1.我们放了一个洪流客户端
有一个很酷的npm软件包,叫做torrent。 一切都会好起来,但他不知道如何选择一个文件和列表进行下载并限制下载速度。 这很重要。 但这很简单,可以非常快速地拾取宴会,并在顺序模式下完美摇动,这正是我们需要的。
我不得不四处逛逛,并添加必要的功能。 所以我们用叉子把洪流
npm install 'https://github.com/zim32/torrent.git#master' -g
下载种子文件或磁力链接。
要获取文件列表,您需要运行info命令
torrent info some.torrent | less
找到我们需要的文件名(而不是路径)并执行命令
torrent some.torrent --select 'FILE_NAME' --downloadLimit 1000000
如果一切顺利,您将看到下载统计信息,对等体数量等。 文件将被添加到当前目录。 速度限制,以字节/秒为单位。
限制是必要的,因为在我看来,洪流阻塞了整个频道,路由器变坏了,笔记本电脑和智能电视之间发生了进一步的刹车。 最主要的是速度要高于流的比特率,否则将有负载和缓冲。
使HLS流
安装ffmpeg。 就我而言,一切都与存储库中的常规ffmpeg一起使用。
apt install ffmpeg
我们创建一个公共目录,流将进入该目录。
此外,几种选择是可能的。 如果源文件中的视频为h264格式,音频为AAC,则可以尝试不对流进行重新编码。 在这种情况下,以这种方式运行流
ffmpeg -re -i 'torrent_dir/movie.mkv' -codec copy -map 0:0 -map 0:1 -map_chapters -1 -movflags default_base_moof+frag_keyframe -f hls -hls_playlist_type event ~/www/player/out.m3u8
如果编解码器不同,则必须立即进行转码。 在我的笔记本电脑上,ffmpeg紧跟潮流。
ffmpeg -re -i 'torrent_dir/movie.avi' -c:v libx264 -preset slow -r 24 -x264opts fps=24:bitrate=2000:pass=1:vbv-maxrate=4000:vbv-bufsize=8000:keyint=24:min-keyint=24:scenecut=0:no-scenecut -c:a aac -b:a 256k -map 0:0 -map 0:1 -map_chapters -1 -movflags default_base_moof+frag_keyframe -f hls -hls_playlist_type event ~/www/player/out.m3u8
使用-map 0:0和-map 0:1选项,我们可以振动所需的通道。 视频和俄语曲目。 -map_chapters -1选项将删除所有垃圾,以防万一以章信息等形式出现。
您可以使用ffprobe movie.mkv命令观看可用频道
创建服务器
在流所在的文件夹中,您需要将具有以下内容的index.html文件放入
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <video src="out.m3u8" controls></video> </body> </html>
安装一个简单的http服务器。
npm i http-server -g
我们启动服务器
http-server -a 0.0.0.0 -c-1
看电影
现在,在电视上就足以打开带有笔记本电脑地址的浏览器,例如
192.168.1.200:8080并享受。
谢谢大家的关注。