Kami menonton torrent di TV pintar tanpa SMS dan registrasi

Selamat siang, Habr.

Saya memutuskan untuk membagikan salah satu cara bagaimana Anda dapat menonton film / seri favorit Anda dengan kualitas tinggi tanpa mengunjungi situs bodoh yang ingin Anda mainkan di kasino.

Segera melakukan reservasi, saya sama sekali tidak mendesak Anda untuk menggunakan konten bajakan. Pembajakan itu jahat. Selalu beli konten berlisensi.

Nah, bagi mereka yang ingin menonton torrent, yang tidak dilindungi oleh hak cipta, di TV pintar mereka, tanpa menunggu unduhan, di bawah ini adalah cara yang menarik.

Saya memiliki TV pintar Samsung, di mana saya mencoba menonton film dengan berbagai cara.

Saya mencoba menginstal minidlna di Ubuntu. Sampai suatu saat ini bekerja cukup mudah, tetapi suatu hari dlna aplikasi di TV mulai terbang keluar secara berkala. Saya masih belum menemukan apa yang terhubung dengan ini, beberapa pembaruan yang gagal mungkin telah tiba. Bagaimanapun, Anda hanya dapat menonton konten yang sepenuhnya diunduh, yang tidak terlalu menarik.

Saya mencoba dengan cara kuno untuk mengunggah film ke hdd eksternal, dan menghubungkannya ke TV. Setelah beberapa kali itu mengganggu saya.

Akibatnya, untuk waktu yang lama saya hanya melihat melalui browser yang dibangun di TV. Setelah beberapa waktu, metode ini menjadi sangat buruk.

Saya menginginkan sesuatu yang nyaman dan sederhana, dan agar saya tidak segera menunggu sampai semua konten dimuat.

Anda mengatakan ada Chromecast. Tetapi saya ingin melakukan semuanya tanpa perangkat tambahan di tempat saya.

Ternyata, browser bawaan (tidak seperti desktop chrome) mendukung HLS. Nah, mengapa kita tidak mengambil aliran hls saja di laptop, dan menonton melalui browser.

Jadi ayo pergi.

1. Kami menempatkan klien torrent


Ada paket npm yang sangat keren yang disebut torrent. Semuanya akan baik-baik saja, tetapi dia tidak tahu bagaimana memilih satu file dan daftar untuk diunduh dan membatasi kecepatan unduhan. Ini sangat penting. Tapi itu minimalis, mengambil pesta dengan sangat cepat dan mengocoknya dengan sempurna dalam mode berurutan, itulah yang kami butuhkan.

Saya harus mencari-cari di nyali dan menambahkan fungsionalitas yang diperlukan. Jadi kami menaruh torrent dari garpu

npm install 'https://github.com/zim32/torrent.git#master' -g 

Unduh file torrent atau tautan magnet.

Untuk mendapatkan daftar file, Anda perlu menjalankan perintah info

 torrent info some.torrent | less 

Temukan nama file yang kita butuhkan (bukan path) dan jalankan perintah

 torrent some.torrent --select 'FILE_NAME' --downloadLimit 1000000 

Jika semuanya baik-baik saja, Anda akan melihat statistik unduhan, jumlah rekan, dll. File akan ditambahkan ke direktori saat ini. Batas kecepatan dalam Byte / s.

Pembatasan diperlukan, karena dalam kasus saya torrent menyumbat seluruh saluran, router menjadi buruk dan rem lebih lanjut terjadi antara laptop dan TV pintar. Yang utama adalah kecepatannya lebih tinggi dari bitrate stream, jika tidak akan ada beban dan buffering.

Membuat Streaming HLS


Instal ffmpeg. Dalam kasus saya, semuanya berfungsi dengan ffmpeg biasa dari repositori.

 apt install ffmpeg 

Kami membuat direktori publik ke mana aliran kami akan pergi.

Lebih lanjut, beberapa opsi dimungkinkan. Jika dalam file sumber video dalam format h264 dan audio adalah AAC, maka Anda dapat mencoba untuk tidak mentranskode streaming. Dalam hal ini, jalankan streaming dengan cara ini

 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 

Jika codec berbeda, Anda harus transcode dengan cepat. Di laptop saya, ffmpeg mengikuti arus.

 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 

Dengan opsi -map 0: 0 dan -map 0: 1, kami menggetarkan saluran yang diinginkan. Video dan trek Rusia. Opsi -map_chapters -1 menghapus semua sampah untuk berjaga-jaga dalam bentuk informasi bab, dll.

Anda dapat menonton saluran yang tersedia dengan perintah ffprobe movie.mkv

Buat server


Di folder yang sama dengan aliran, Anda harus meletakkan file index.html dengan konten berikut

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <video src="out.m3u8" controls></video> </body> </html> 

Instal server http sederhana.

 npm i http-server -g 

Kami memulai server

 http-server -a 0.0.0.0 -c-1 

Menonton film


Sekarang di TV sudah cukup untuk membuka browser dengan alamat laptop Anda, misalnya 192.168.1.200 : 8080 dan nikmati.

Terima kasih atas perhatiannya.

Source: https://habr.com/ru/post/id451958/


All Articles