рд╣рдо рдПрд╕рдПрдордПрд╕ рдФрд░ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмрд┐рдирд╛ рд╕реНрдорд╛рд░реНрдЯ рдЯреАрд╡реА рдкрд░ torrents рджреЗрдЦрддреЗ рд╣реИрдВ

рд╢реБрдн рджрд┐рди, рд╣реЗрдмреНрд░ред

рдореИрдВрдиреЗ рдЙрди рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЖрдк рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рдлрд┐рд▓реНрдо / рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдХрд┐рд╕реА рднреА рдЧреВрдВрдЧрд╛ рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдХреИрд╕реАрдиреЛ рдореЗрдВ рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рддреБрд░рдВрдд рдЖрд░рдХреНрд╖рдг рдХрд░реЗрдВ, рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЛ рдкрд╛рдпрд░реЗрдЯреЗрдб рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ред рдкрд╛рдЗрд░реЗрд╕реА рдмреБрд░рд╛рдИ рд╣реИред рд╣рдореЗрд╢рд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдкреНрд░рд╛рдкреНрдд рд╕рд╛рдордЧреНрд░реА рд╣реА рдЦрд░реАрджреЗрдВред

рдЦреИрд░, рдЬреЛ рд▓реЛрдЧ рдзрд╛рд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдХреЙрдкреАрд░рд╛рдЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЕрдкрдиреЗ рд╕реНрдорд╛рд░реНрдЯ рдЯреАрд╡реА рдкрд░, рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд┐рдП рдмрд┐рдирд╛, рдиреАрдЪреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХрд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕реИрдорд╕рдВрдЧ рд╕реНрдорд╛рд░реНрдЯ рдЯреАрд╡реА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдПрдХ рдлрд┐рд▓реНрдо рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

рдореИрдВрдиреЗ рдЙрдмрдВрдЯреВ рдкрд░ рдорд┐рдиреАрдбрд▓рдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рддрдХ рдпрд╣ рдХрд╛рдлреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рджрд┐рди рдЯреАрд╡реА рдкрд░ рдЖрд╡реЗрджрди рд╕рдордп-рд╕рдордп рдкрд░ рдмрд╛рд╣рд░ рдЖрдиреЗ рд▓рдЧреЗред рдореБрдЭреЗ рдЕрднреА рддрдХ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рдХреБрдЫ рдЕрд╕рдлрд▓ рдЕрдкрдбреЗрдЯ рдЖ рд╕рдХрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдХреЗрд╡рд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рдереАред

рдореИрдВрдиреЗ рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдлрд┐рд▓реНрдореЛрдВ рдХреЛ рдПрдХ рдмрд╛рд╣рд░реА hdd рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдЗрд╕реЗ рдЯреАрд╡реА рдкрд░ рд╣реБрдХ рдХрд░ рджрд┐рдпрд╛ред рдПрдХ рджреЛ рдмрд╛рд░ рдХреЗ рдмрд╛рдж рдЗрд╕рдиреЗ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдХрд░ рджрд┐рдпрд╛ред

рдирддреАрдЬрддрди, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдЯреАрд╡реА рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрд╛ред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдпрд╣ рд╡рд┐рдзрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛ рдЧрдИред

рдореИрдВ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╕рд░рд▓ рдЪрд╛рд╣рддрд╛ рдерд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореИрдВ рддреБрд░рдВрдд рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ рдЬрдм рддрдХ рдХрд┐ рд╕рднреА рд╕рд╛рдордЧреНрд░реА рд▓реЛрдб рди рд╣реЛ рдЬрд╛рдПред

рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ Chromecast рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдиреА рдЬрдЧрд╣ рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдм рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рдмрд┐рд▓реНрдЯ-рдЗрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдбреЗрд╕реНрдХрдЯреЙрдк рдХреНрд░реЛрдо рдХреЗ рд╡рд┐рдкрд░реАрдд) рдПрдЪрдПрд▓рдПрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рд╣рдо рд▓реИрдкрдЯреЙрдк рдкрд░ рд╕рд┐рд░реНрдл hls рд╕реНрдЯреНрд░реАрдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЪреБрдирддреЗ рд╣реИрдВ, рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВред

рдФрд░ рдЗрд╕рд▓рд┐рдП рдЪрд▓реЛред

1. рд╣рдо рдПрдХ рдЯреЙрд░реЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдбрд╛рд▓рддреЗ рд╣реИрдВ


рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ npm рдкреИрдХреЗрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдЯреЛрд░реЗрдВрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рд╛рдЗрд▓ рдФрд░ рд╕реВрдЪреА рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрддрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВред рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрддрд┐рд╕реВрдХреНрд╖реНрдо рд╣реИ, рдмрд╣реБрдд рдЬрд▓реНрджреА рджрд╛рд╡рддреЛрдВ рдХреЛ рдЙрдард╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдореЛрдб рдореЗрдВ рд╣рд┐рд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рд╣рд┐рдореНрдордд рдореЗрдВ рдЧрдбрд╝рдЧрдбрд╝рд╛рд╣рдЯ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдерд╛ред рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдХ рдХрд╛рдВрдЯрд╛ рд╕реЗ рдзрд╛рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ

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

рдПрдХ рдзрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдПрдХ рдЪреБрдВрдмрдХ рд▓рд┐рдВрдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред

рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

 torrent info some.torrent | less 

рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдвреВрдВрдвреЗрдВ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдкрде рдирд╣реАрдВ) рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

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

рдпрджрд┐ рд╕рдм рдареАрдХ рд╣реИ, рддреЛ рдЖрдк рдбрд╛рдЙрдирд▓реЛрдб рдЖрдБрдХрдбрд╝реЗ, рд╕рд╛рдерд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЖрджрд┐ рджреЗрдЦреЗрдВрдЧреЗред рдлрд╝рд╛рдЗрд▓реЗрдВ рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝ рджреА рдЬрд╛рдПрдВрдЧреАред рдмрд╛рдЗрдЯ / рдПрд╕ рдореЗрдВ рдЧрддрд┐ рд╕реАрдорд╛ред

рдкреНрд░рддрд┐рдмрдВрдз рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдзрд╛рд░ рдкреВрд░реЗ рдЪреИрдирд▓ рдХреЛ рд░реЛрдХрддреА рд╣реИ, рд░рд╛рдЙрдЯрд░ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдЧреЗ рд▓реИрдкрдЯреЙрдк рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рдЯреАрд╡реА рдХреЗ рдмреАрдЪ рдмреНрд░реЗрдХ рд╣реЛрддрд╛ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЧрддрд┐ рдзрд╛рд░рд╛ рдХреЗ рдмрд┐рдЯрд░реЗрдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдЕрдиреНрдпрдерд╛ рд▓реЛрдб рдФрд░ рдмрдлрд░рд┐рдВрдЧ рд╣реЛрдЧреАред

рдПрдЪрдПрд▓рдПрд╕ рд╕реНрдЯреНрд░реАрдо рдмрдирд╛рдирд╛


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 

рд╡рд┐рдХрд▓реНрдк -рдореИрдк 0: 0 рдФрд░ -рдореИрдк 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 рдФрд░ рдЖрдирдВрдж рд▓реЗрдВред

рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред

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


All Articles