ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ื”ื”ืงื“ืžื” ืงืฆืจื”: ืื ื™ ืจื•ืฆื” ืœื“ื‘ืจ ืขืœ ื ื’ืŸ YouTube ื”ืžืงื•ื•ืŸ ืœืื ื“ืจื•ืื™ื“ ืขื ืจืฉื™ืžื•ืช ื”ืฉืžืขื”, ืขืจื•ืฆื™ื ื•ื”ืžืœืฆื•ืช ืžืงื•ืžื™ื•ืช.

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืžื‘ื•ื ืžื•ืจื—ื‘:
ืœืคื ื™ ื–ืžืŸ ืžื” ื ืชืงืœืชื™ ื‘ื“ื™ื•ืง ื‘ืื•ืชื” ื‘ืขื™ื” ื›ืžื• ื”ืžื—ื‘ืจ ืฉืœ ืืคืœื™ืงืฆื™ื” ื ืคืœืื” ืจืฉื™ืžืช ื”ืœื‘ื ื™ื ืฉืœ ื”ืขืจื•ืฅ, ื•ืงื‘ืขืชื™ ืœืขืฆืžื™ ื‘ื“ื™ื•ืง ืืช ืื•ืชื• ื”ื™ื—ืก ื›ืœืคื™ื•: ืื ื™ ืจื•ืฆื” ืœื”ื™ื•ืช ืžืกื•ื’ืœืช ืœืชืช ืœื™ืœื“ ืฉืœื™ ื˜ืื‘ืœื˜ ืื• ืกืžืืจื˜ืคื•ืŸ ืขื ืงืจื™ืงื˜ื•ืจื•ืช ืžื“ื™ ืคืขื, ืื‘ืœ ืื ื™ ื‘ื›ืœืœ ืœื ืžืจื•ืฆื” ืžืื™ืคื”, ืื—ืจื™ 2-3 ืงืœื™ืงื™ื, ื”ืจืฉื™ืžื” ืฉืœ ื”ืžืœืฆื•ืช ื‘ืืคืœื™ืงืฆื™ื•ืช ืกื˜ื ื“ืจื˜ื™ื•ืช - ืœืงื•ื—ื•ืช ื™ื•ื˜ื™ื•ื‘ - ืœื•ืงื— ืืช ื”ื™ืœื“.

ืœืจื•ืข ื”ืžื–ืœ, ืœืื—ืจ ื”ืชืงื ืช ืืคืœื™ืงืฆื™ื™ืช ืจืฉื™ืžืช ื”ื”ื™ืชืจื™ื ืฉืœ ื”ืขืจื•ืฅ, ื”ืชื’ืœื” ืขื•ื“ ืคื’ื ืคืจื•ื–ืื™ ื™ื•ืชืจ, ืืš ืขื“ื™ื™ืŸ ืงื˜ืœื ื™ - NIH I (ื•ื”ื›ื™ ื—ืฉื•ื‘, ื‘ื ื™) ื’ื™ืœื™ืชื™ ืฉื”ืžืžืฉืง ืฉืœื• ืœื ื ื•ื— ื‘ืžื™ื•ื—ื“, ื‘ืžื™ื•ื—ื“ ืœืื—ืจ ื”ืจื’ืœ ืœื”ืฉืชืžืฉ ื‘ื ื’ืŸ YouTube Kids.

ื‘ืื•ืคืŸ ื›ืœืœื™, ืœืื—ืจ ื–ืžืŸ ืžื” ื”ื™ื™ืชื™ ืžื•ื›ืŸ ืœื‘ืฆืข ื™ื™ืฉื•ื ืžืฉืœื™. ืœืื—ืจ ื–ืžืŸ ืžื”, ืืคืฉืจ ื”ื™ื” ืœืฉื™ื ืชื’ ื‘ืžื”ื“ื•ืจื” ื”ืจืืฉื•ื ื”.

ืชื›ื•ื ื•ืช ืขื™ืงืจื™ื•ืช:

  • ื”ื•ืกืฃ ืืช ื”ืขืจื•ืฆื™ื ื•ื”ืคืœื™ื™ืœื™ืกื˜ื™ื ื”ืžื•ืขื“ืคื™ื ืขืœื™ืš - ื”ื ื™ื™ืฉืžืจื• ื•ื™ื•ืกืคื• ืœืื™ื ื“ืงืก ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื”ืžืงื•ืžื™
  • ื‘ืชื•ืš ืจืฉื™ืžื•ืช ื”ืฉืžืขื” ืฉื ื•ืกืคื•, ื›ื‘ื” ืกืจื˜ื•ื ื™ื ืžื™ื•ืชืจื™ื ืื ืื™ื ืš ื–ืงื•ืง ืœื”ื
  • ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช ื ื•ืฆืจืช ื‘ืื•ืคืŸ ืืงืจืื™ ืจืง ืžืขืจื•ืฆื™ื ื•ืคืœื™ื™ืœื™ืกื˜ื™ื ืฉื ื•ืกืคื• ืœืืคืœื™ืงืฆื™ื”

ืงื•ื“ ืคืชื•ื—, ืจื™ืฉื™ื•ืŸ GPLv3: https://github.com/sadr0b0t/yashlang/

ืœื”ืœืŸ ืกืงื™ืจื” ื›ืœืœื™ืช ืฉืœ ื”ืชื›ื•ื ื•ืช ื”ืขื™ืงืจื™ื•ืช ื‘ืคื™ืจื•ื˜ ืจื‘ ื™ื•ืชืจ, ื‘ืชื•ืกืคืช ื›ืžื” ืคืจื˜ื™ื ื˜ื›ื ื™ื™ื ื›ื™ืฆื“ ืœื”ืคืขื™ืœ ืกืจื˜ื•ื ื™ YouTube ื‘ืืคืœื™ืงืฆื™ื™ืช Android ืฉืœืš ืžื‘ืœื™ ืœื”ืฉืชืžืฉ ื‘-Google API ื•ื‘ืขื˜ื™ืคื•ืช ื”ืื™ื ื˜ืจื ื˜.

ื‘ืžืกืš ื”ืจืืฉื™ ื•ื‘ืžืกืš ื”ื ื’ืŸ: ื”ืžืœืฆื•ืช ืืงืจืื™ื•ืช ืžืขืจื•ืฆื™ื ืœื ืืงืจืื™ื™ื

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ื—ื™ืคื•ืฉ ืžื™ื™ื“ื™ ื‘ืžืกื“ ื ืชื•ื ื™ื ืžืงื•ืžื™

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) => ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ื”ื•ืกืฃ ืขืจื•ืฅ ืื• ืคืœื™ื™ืœื™ืกื˜ ื—ื“ืฉ

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ื—ืคืฉ ืœืคื™ ืฉื ืžืงื•ื•ืŸ ืื• ื”ื›ื ืก ื›ืชื•ื‘ืช ื™ื“ื•ืขื”. ืจืฉื™ืžืช ื”ืกืจื˜ื•ื ื™ื ืฉืœ ืขืจื•ืฅ ืื• ืจืฉื™ืžืช ื”ืฉืžืขื” ื ืฉืžืจืช ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื”ืžืงื•ืžื™; ื”ืกืžืœื™ื ืื™ื ื ื ืฉืžืจื™ื ื‘ืžื˜ืžื•ืŸ.

ืคืœื™ื™ืœื™ืกื˜ ื“ื™ื ืžื™ - ื”ืคืขืœ ืชื•ืฆืื•ืช ื—ื™ืคื•ืฉ

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) => ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ื‘ื”ืžืœืฆื•ืช ื”ืกืจื˜ื•ืŸ ื™ื”ื™ื• ืจืง ืกืจื˜ื•ื ื™ื ื”ืขื•ื ื™ื ืขืœ ืฉืื™ืœืชืช ื”ื—ื™ืคื•ืฉ.

ื‘ืื•ืคืŸ ื“ื•ืžื”, ืื ืชืคืชื—ื• ืกืจื˜ื•ืŸ ืžื”ื’ื“ืจื•ืช ื”ืคืœื™ื™ืœื™ืกื˜, ืจืง ืกืจื˜ื•ื ื™ื ืžืื•ืชื• ืคืœื™ื™ืœื™ืกื˜ ื™ื•ืคื™ืขื• ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช.

ื ื™ืชืŸ ืœื›ื‘ื•ืช ื•ืœื”ืคืขื™ืœ ืฉื•ื‘ ืจืฉื™ืžื•ืช ื”ืฉืžืขื” ื•ืขืจื•ืฆื™ื ื‘ืื•ืคืŸ ื–ืžื ื™

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืฉื™ืžื• ืœื‘: ืกืจื˜ื•ื ื™ื ืžืจืฉื™ืžืช ื”ืฉืžืขื” ืžื•ืฉื‘ืชืช ื™ื™ืขืœืžื• ื’ื ืžืชื•ืฆืื•ืช ื”ื—ื™ืคื•ืฉ, ื”ื™ืกื˜ื•ืจื™ื™ืช ื”ืฆืคื™ื™ื” ื•ืžืจืฉื™ืžืช ื”ืžื•ืขื“ืคื™ื. ืืš ืืœ ื“ืื’ื”, ื”ื ื™ื•ืคื™ืขื• ืฉื ืฉื•ื‘ ืžื™ื“ ืœืื—ืจ ื”ืคืขืœืช ื”ืคืœื™ื™ืœื™ืกื˜ ืฉื•ื‘.

ื”ื•ืกืฃ ืกืจื˜ื•ืŸ ืœืจืฉื™ืžื” ื”ืฉื—ื•ืจื”

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืกืจื˜ื•ืŸ ื—ืกื•ื ืœื ื™ื•ืฆื’ ื‘ื”ืžืœืฆื•ืช, ื‘ืชื•ืฆืื•ืช ื”ื—ื™ืคื•ืฉ ื•ื™ื™ืขืœื ืžืจืฉื™ืžืช ื”ืžื•ืขื“ืคื™ื ื•ืžื”ื™ืกื˜ื•ืจื™ื™ืช ื”ืฆืคื™ื™ื”. ื”ืกืจื˜ื•ืŸ ืขื“ื™ื™ืŸ ื™ื”ื™ื” ื’ืœื•ื™ ื‘ื”ื’ื“ืจื•ืช ื”ืคืœื™ื™ืœื™ืกื˜.

ื”ืฆื’ ืืช ื”ืจืฉื™ืžื” ื”ืฉื—ื•ืจื” ื•ื”ืคืขืœ ืžื—ื“ืฉ ืคืจื™ื˜ื™ื ืฉื ื—ืกืžื• ื‘ื˜ืขื•ืช:
ื”ื’ื“ืจื•ืช > ืชืคืจื™ื˜ ื›ื•ืชืจืช > ืจืฉื™ืžื” ืฉื—ื•ืจื”

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืกืจื˜ื•ื ื™ื ืžื•ืขื“ืคื™ื ื•ื”ื™ืกื˜ื•ืจื™ื™ืช ืฆืคื™ื™ื”

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ืกืจื˜ื•ื ื™ื ืžื•ืขื“ืคื™ื ื‘ืžืกืš ื”ื ื’ืŸ ืžืกื•ืžื ื™ื ื‘ื›ื•ื›ื‘ื™ืช ื‘ืคื™ื ื” ื”ื™ืžื ื™ืช ื”ืขืœื™ื•ื ื”.

ืชืคืจื™ื˜ื™ ื”ืงืฉืจ ื‘ื›ื•ืชืจืช ื”ืžืกืš ื•ืœื—ื™ืฆื” ืืจื•ื›ื” ื‘ื’ืœืจื™ื•ืช ื•ื‘ืจืฉื™ืžื•ืช

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ื”ืขืชืง ืืช ื”ืฉื ืื• ื”ื›ืชื•ื‘ืช ืฉืœ ืกืจื˜ื•ืŸ ืื• ืจืฉื™ืžืช ื”ืฉืžืขื” ื‘ืžืกืš ื”ื’ืœื™ืฉื” ืื• ื›ืœ ืจืฉื™ืžื”.

ื”ืชื—ืœื” ืžื”ื™ืจื” - ื”ื•ืกืฃ ืขืจื•ืฆื™ื ื•ืคืœื™ื™ืœื™ืกื˜ื™ื ืžื•ืžืœืฆื™ื

ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?) => ืžื•ืชื• ืฉืœ ืงื•ืฉืฆ'ื™ ื ืžืฆื ื‘ืจืฉื™ืžืช ื”ื”ืžืœืฆื•ืช (ื”ืื ืืคืฉืจ ืœื”ืคื•ืš ืืช ื™ื•ื˜ื™ื•ื‘ ืœื ืขื™ื ื•ื‘ื˜ื•ื—?)

ื”ืืคืœื™ืงืฆื™ื” ืชื™ืจืื” ืžื™ื“ ื›ืžื• ืฆื™ืœื•ืžื™ ื”ืžืกืš ืฉืœืžืขืœื”.

ื ื™ืชืŸ ืœื›ื‘ื•ืช ืื• ืœืžื—ื•ืง ืขืจื•ืฆื™ื ื•ืคืœื™ื™ืœื™ืกื˜ื™ื ืฉืื™ื ื ื ื—ื•ืฆื™ื ื‘ื”ื’ื“ืจื•ืช.

ื”ืชืงื ื”

ืกื“ืจื•ืช: https://github.com/sadr0b0t/yashlang/
ื‘ืื ื’ืœื™ืช: https://github.com/sadr0b0t/yashlang/blob/master/README.en.md
ืžืฉื—ืจืจ: https://github.com/sadr0b0t/yashlang/releases

  • ื–ื” ืœื ื ืžืฆื ื‘-Google Play ื•ืœื ื™ื”ื™ื” ื‘ืขืชื™ื“ ื”ืงืจื•ื‘ (ื’ื•ื’ืœ ืื•ืกืจืช ืขืœ ื™ื™ืฉื•ืžื™ื ืฉืขื•ืงืคื™ื ืืช ื”-API ื•ืžื ืชื—ื™ื ืืช ื”ืืชืจ ืฉืœื”ื, ื›ื•ืœืœ ืจืฉื™ืžืช ื”ืœื‘ื ื™ื ืฉืœ ื”ืขืจื•ืฅ ืื• ื ื’ืŸ NewPipe)
  • ื‘ื ื” ืžืžืงื•ืจื•ืช: https://github.com/sadr0b0t/yashlang/
  • ื”ื•ืจื“ ืืช ื”-apk ืžืงื˜ืข ื”ื”ืคืฆื•ืช: https://github.com/sadr0b0t/yashlang/releases
  • ืื ื™ ืžืงื•ื•ื” ืฉื–ื” ื™ื•ืคื™ืข ื‘ืงื˜ืœื•ื’ ืœืื—ืจ ื–ืžืŸ ืžื” F-Droid (ื ืจืื” ื›ื™ ื”ื‘ืงืฉื” ืœืชื•ืกืคืช ืžืื•ืฉืจืช, ืื‘ืœ ืœื ื–ื– ืขื•ื“ ื›ืžืขื˜ ื—ื•ื“ืฉ), ืื‘ืœ ืขื“ื™ื™ืŸ ืœื

ื–ื›ื•ืจ ืฉืžืขื‘ืจ ื‘ื™ืŸ ื’ืจืกืื•ืช ืฉื•ื ื•ืช ืžืžืงื•ืจื•ืช ืฉื•ื ื™ื ืขืœ ืื•ืชื• ืžื›ืฉื™ืจ ืœื ื™ืขื‘ื•ื“ ืขืงื‘ ื—ืชื™ืžื•ืช ืฉื•ื ื•ืช ืฉืœ ืงื•ื‘ืฅ ื”-apk; ืœืคื ื™ ื”ืชืงื ืช ื”ื’ืจืกื” ืžืžืงื•ืจ ื—ื“ืฉ, ืชืฆื˜ืจืš ืงื•ื“ื ื›ืœ ืœืžื—ื•ืง ืืช ื”ื’ืจืกื” ื”ืžื•ืชืงื ืช ื™ื—ื“ ืขื ื”ื ืชื•ื ื™ื - ืžื˜ืžื•ืŸ ืจืฉื™ืžืช ื”ื”ืฉืžืขื” ื•ื”ื™ืกื˜ื•ืจื™ื™ืช ื”ื’ืœื™ืฉื” (ืื• ืœื”ื‘ื™ืŸ ื›ื™ืฆื“ ืœื”ืขื‘ื™ืจ ื ืชื•ื ื™ื).

ืคืจื˜ื™ื ื˜ื›ื ื™ื™ื

ืœื ืžืฆืจื™ืš ื—ืฉื‘ื•ืŸ Google/YouTube, ืืชื” ืฆืจื™ืš ืจืง ืื™ื ื˜ืจื ื˜, ืžืฉืชืžืฉ ื‘ืกืคืจื™ื•ืช ื”ื‘ืื•ืช:

ืงื•ื“ ืคืชื•ื—, ืจื™ืฉื™ื•ืŸ GPLv3 ื‘ื—ื™ื ื.

ืฉืืœื”: ื”ืื ื–ื” ื—ื•ืงื™ ื‘ื“ืจืš ื›ืœืœ ืœื’ืจื“ ืืชืจื™ื ืœืœื ืจืฉื•ืช (ืื• ืขื ืื™ืกื•ืจ ืžืคื•ืจืฉ) ืžื”ื›ื•ืชื‘ื™ื? ื’ื•ื’ืœ ืžืกื™ืจื” ืืคืœื™ืงืฆื™ื•ืช ืž-Google Play, ืฉืื™ื ื ืžืฉืชืžืฉื™ื ื‘-API ืฉืœื”ื, ืืœื ืžื ืชื—ื™ื ืืช ื”ืืชืจื™ื ืฉืœื”ื, ื‘ื’ืœืœ ื”ื ืžืคืจื™ื ืืช ื”ืกื›ื ื”ืžืฉืชืžืฉ ืฉืœื”ื.
ืชืฉื•ื‘ื”: ื›ืžื•ื‘ืŸ ืฉื–ื” ื—ื•ืงื™, ื–ื” ืชืœื•ื™ ื‘ืš ื‘ืื™ื–ื” ื›ืœื™ ืœื”ืฉืชืžืฉ ื›ื“ื™ ืœืงืจื•ื ืžื™ื“ืข ื–ืžื™ืŸ ืœืฆื™ื‘ื•ืจ. ื™ืชืจ ืขืœ ื›ืŸ: ื‘ื™ืช ืžืฉืคื˜ ื‘ืืจื”"ื‘ ืื™ืฉืจ ืœื—ืœื•ื˜ื™ืŸ ืืช ื’ื™ืจื•ื“ ืืชืจื™ื ื•ืืกืจ ืขืœ ื”ืชืขืจื‘ื•ืช ื˜ื›ื ื™ืช ื‘ื•.ืื‘ืœ ืื•ืœื™ ืœื’ื•ืœ ื™ืฉ ื“ืขื” ืื—ืจืช; ืื™ืฉื™ืช, ืื™ืŸ ืœื™ ืขื“ื™ื™ืŸ ืจืฆื•ืŸ ืœืœื›ืช ืœื‘ื™ืช ืžืฉืคื˜ ืืžืจื™ืงืื™ ื›ื“ื™ ืœืฉื›ื ืข ืื•ืชื.

ืงืฆืช ืงื•ื“

ื”ืกืคืจื™ื™ื” NewPipeExtractor - ืคืจื•ื™ืงื˜ ืชืžื™ื›ื” ื‘ืฉื—ืงื ื™ื NewPipe, ืžืืคืฉืจ ืœืš ืœื”ื•ืจื™ื“ ืจืฉื™ืžื” ืฉืœ ืกืจื˜ื•ื ื™ื ืขื‘ื•ืจ ืขืจื•ืฅ ืื• ืคืœื™ื™ืœื™ืกื˜ ืžืกื•ื™ื, ืœื”ื•ืจื™ื“ ืžื™ื“ืข ืžืคื•ืจื˜ ืขืœ ืกืจื˜ื•ืŸ ืžืคื•ืจืกื (ืžื” ืฉืžื•ืคื™ืข ื‘ื“ืฃ ื”ืื™ื ื˜ืจื ื˜ ืฉืœ ื”ืกืจื˜ื•ืŸ), ืœืงื‘ืœ ืืช ื”ื›ืชื•ื‘ืช ืฉืœ ืกืžืœ ื”ืกืจื˜ื•ืŸ, ื•ื’ื ืœืงื‘ืœ ืืช ื›ืชื•ื‘ืช ื”ืกืจื˜ื•ืŸ ื–ืจื.

ื”ืงื•ื“ ืœื˜ืขื™ื ืช ื”ืคืœื™ื™ืœื™ืกื˜ ืงืฆืช ืžืกื•ืจื‘ืœ, ืื– ืื ื™ ืœื ืืชืŸ ืื•ืชื• ื›ืืŸ, ืœืžืขื•ื ื™ื™ื ื™ื, ืชืกืชื›ืœ ืขืœ ืงื•ื“ ื”ืžืงื•ืจ, ื–ื” ื‘ืขืฆื ืžื—ืœืงื” ContentLoader.

ื‘ื•ื ื ืจืื” ืื™ืš ืœื”ืฉื™ื’ ืืช ื”ื›ืชื•ื‘ืช ืฉืœ ื–ืจื ื•ื™ื“ืื• ืžื”ื›ืชื•ื‘ืช ืฉืœ ื“ืฃ ื”ื•ื•ื™ื“ืื• ื”ืฆื™ื‘ื•ืจื™ ื•ืœื”ืคืขื™ืœ ืื•ืชื• ื‘ื ื’ืŸ.

ื—ื‘ืจ ืืช ื”ืกืคืจื™ื™ื” ืœ
ื™ื™ืฉื•ื / build.gradle

dependencies {
...
    // NewPipe: youtube parser
    // https://github.com/TeamNewPipe/NewPipeExtractor
    implementation "com.github.TeamNewPipe:NewPipeExtractor:v0.17.4"
...
}

ื–ื” ืžื•ื–ืจ ืฉืื—ืจื™ ื–ื” ืขื“ื™ื™ืŸ ืœื ืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ื•, ื›ื™... ื“ื•ื’ืžืื•ืช ื™ืชืœื•ื ื ื• ืขืœ ืžื—ืœืงืช ื”ื”ื•ืจื“ื” ื”ื—ืกืจื”. ื ื™ืชืŸ ืœื”ืขืชื™ืง ืื•ืชื• ืœืคืจื•ื™ืงื˜ ืžืกืคืจื™ื™ืช ื”ื‘ื“ื™ืงื•ืช ื”ืื•ื˜ื•ืžื˜ื™ื•ืช NewPipeExtractor/extractor/src/test/java/org/schabi/newpipe/Downloader.java - ืขื•ื‘ื“ ืขื‘ื•ืจ ื’ืจืกื” 0.17.4 (ื ืจืื” ืฉื”ื—ืœืง ื”ื–ื” ืฉื•ืคืฅ ื‘ื’ืจืกื” ื—ื“ืฉื” ื™ื•ืชืจ ืฉืœ ื”ืกืคืจื™ื™ื”, ืื‘ืœ ืื ื—ื ื• ืขื“ื™ื™ืŸ ืฆืจื™ื›ื™ื ืœื‘ื“ื•ืง).

ืงื‘ืœ ืืช ื”ื›ืชื•ื‘ืช ืฉืœ ื–ืจื ื”ื•ื•ื™ื“ืื• ืœืคื™ ื”ื›ืชื•ื‘ืช ืฉืœ ื“ืฃ ื”ื•ื•ื™ื“ืื• ื‘ืืชืจ YouTube:

app/src/main/java/su/sadrobot/yashlang/controller/ContentLoader.java

    public String extractYtStreamUrl(final String ytVidUrl) throws ExtractionException, IOException {
        // https://github.com/TeamNewPipe/NewPipeExtractor/blob/dev/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeStreamExtractorDefaultTest.java
        NewPipe.init(Downloader.getInstance(), new Localization("GB", "en"));
        final YoutubeStreamExtractor extractor = (YoutubeStreamExtractor) YouTube
                .getStreamExtractor(ytVidUrl);
        extractor.fetchPage();
        final String streamUrl = extractor.getVideoStreams().size() > 0 ? extractor.getVideoStreams().get(0).getUrl() : null;
//        for (final VideoStream stream : extractor.getVideoStreams()) {
//            stream.getUrl();
//        }
        return streamUrl;
    }

ื›ืชื•ื‘ืช ื”ื•ื•ื™ื“ืื• ytVidUrl ื™ื›ื•ืœื” ืœื”ื™ื•ืช ื”ื›ืชื•ื‘ืช ื”ืฆื™ื‘ื•ืจื™ืช ืฉืœ ื”ื“ืฃ ืฉืœ ื›ืœ ืกืจื˜ื•ืŸ ื‘ืืชืจ YouTube, ืœืžืฉืœ https://www.youtube.com/watch?v=pd2RlatmNRk

ื”ืฉื—ืงืŸ ื™ื”ื™ื” ืืงืกื•ืคืœื™ื™ืจ ืžื’ื•ื’ืœ ืขืฆืžื”. ืœื ืžื“ื•ื‘ืจ ื‘ืžืขื˜ืคืช ืื™ื ื˜ืจื ื˜ ืžืขืœ YouTube, ืืœื ื‘ื ื’ืŸ ืžืฉื•ื‘ืฅ ืืžื™ืชื™ ืœื”ืคืขืœืช ื›ืœ ืกืจื˜ื•ื ื™ ื•ื™ื“ืื•, ื“ื™ ื’ืžื™ืฉ ื•ื ื™ืชืŸ ืœื”ืชืืžื” ืื™ืฉื™ืช. ื–ื” ื™ื›ื•ืœ ื’ื ืœื”ืคืขื™ืœ ื–ืจืžื™ ื•ื™ื“ืื• ืž-YouTube ืื ืชืกืคืง ืœื• ืืช ื”ื›ืชื•ื‘ืช ื”ื ื›ื•ื ื”. ื–ื” ืขืชื” ืงื™ื‘ืœื ื• ืืช ื›ืชื•ื‘ืช ื”ื–ืจื, ืื– ื‘ื•ืื• ื ืจืื” ืื™ืš ืœืฉืœื•ื— ืื•ืชื” ืœื ื’ืŸ.

ื—ื‘ืจ ืืช ื”ืกืคืจื™ื™ื” ืœืคืจื•ื™ืงื˜ ื™ื™ืฉื•ื / build.gradle:

dependencies {
...
    // google Exoplayer
    // https://github.com/google/ExoPlayer
    // https://exoplayer.dev/
    implementation 'com.google.android.exoplayer:exoplayer:2.10.8'
...
}

ืœื ื ืฉืงื•ืœ ืืช ื›ืœ ื”ื ื™ื•ืื ืกื™ื ืฉืœ ื”ืฆื‘ืช ืจื›ื™ื‘ ื”ื ื’ืŸ ืขืœ ืžืกืš ื”ืืคืœื™ืงืฆื™ื” (ืชื•ื›ืœื• ืœื”ืกืชื›ืœ ืขืœ ื”ื“ื•ื’ืžืื•ืช ื‘ืืชืจ ื”ืคืจื•ื™ืงื˜ ืื• ื‘ืงื•ื“), ื ื‘ื—ืŸ ืจืง ื›ื™ืฆื“ ืœื”ืชื—ื™ืœ ืœื ื’ืŸ ืกืจื˜ื•ืŸ ืžื™ื•ื˜ื™ื•ื‘ ื‘ื ื’ืŸ ื‘ื›ืชื•ื‘ืช ื”ื›ืชื•ื‘ืช ืฉื”ืชืงื‘ืœื” ืœืžืขืœื”:

app/src/main/java/su/sadrobot/yashlang/WatchVideoActivity.java

private void playVideoStream(final String streamUrl, final long seekTo) {
    if (streamUrl == null) {
        // ะพัั‚ะฐะฝะพะฒะธั‚ัŒ ะฟั€ะพะธะณั€ั‹ะฒะฐะฝะธะต ั‚ะตะบัƒั‰ะตะณะพ ั€ะพะปะธะบะฐ, ะตัะปะธ ะฑั‹ะป ะทะฐะณั€ัƒะถะตะฝ
        videoPlayerView.getPlayer().stop(true);
    } else {
        // https://exoplayer.dev/
        // https://github.com/google/ExoPlayer

        final Uri mp4VideoUri = Uri.parse(streamUrl);
        final MediaSource videoSource = new ProgressiveMediaSource.Factory(videoDataSourceFactory)
                .createMediaSource(mp4VideoUri);

        // ะŸะพัั‚ะฐะฒะธะผ ะฝะฐ ะฟะฐัƒะทัƒ ัั‚ะฐั€ะพะต ะฒะธะดะตะพ, ะฟะพะบะฐ ะณะพั‚ะพะฒะธะผ ะฝะพะฒะพะต
        if (videoPlayerView.getPlayer().getPlaybackState() != Player.STATE_ENDED) {
            // ะ•ัะปะธ ัั‚ะฐะฒะธั‚ัŒ ะฝะฐ ะฟะฐัƒะทัƒ ะทะดะตััŒ ะฟะพัะปะต ั‚ะพะณะพ, ะบะฐะบ ะฟะปะตะตั€ ะฒัั‚ะฐะป ะฝะฐ ะฟะฐัƒะทัƒ ัะฐะผ, ะทะฐะบะพะฝั‡ะธะฒ
            // ะธะณั€ะฐั‚ัŒ ะฒะธะดะตะพ, ะฟะพะปัƒั‡ะธะผ ะทะดะตััŒ ะฒั‚ะพั€ะพะต ัะพะฑั‹ั‚ะธะต STATE_ENDED, ะฟะพัั‚ะพะผัƒ ะฝะฐะผ ะฝัƒะถะฝะฐ ะทะดะตััŒ
            // ัะฟะตั†ะธะฐะปัŒะฝะฐั ะฟั€ะพะฒะตั€ะบะฐ.
            // ะŸั€ะธ ัั‚ะพะผ ะทะฝะฐั‡ะตะฝะธะต getPlayWhenReady() ะพัั‚ะฐะฝะตั‚ัั true, ะฟะพัั‚ะพะผัƒ ะฟั€ะพะฒะตั€ัะตะผ ะธะผะตะฝะฝะพ ัะพัั‚ะพัะฝะธะต.
            // https://github.com/google/ExoPlayer/issues/2272
            videoPlayerView.getPlayer().setPlayWhenReady(false);
        }

        // Prepare the player with the source.
        ((SimpleExoPlayer) videoPlayerView.getPlayer()).prepare(videoSource);

        // ะฃะบะฐะถะตะผ ั‚ะตะบัƒั‰ัƒัŽ ะฟะพะทะธั†ะธัŽ ัั€ะฐะทัƒ ะฟั€ะธ ะทะฐะณั€ัƒะทะบะต ะฒะธะดะตะพ
        // (ะฒ ะบะพะผะตะฝั‚ะฐั… ั‡ั‚ะพ-ั‚ะพ ะฟะธัˆัƒั‚ ั‡ั‚ะพ-ั‚ะพ ะฟั€ะพ ะดะฐั‚ะฐัะพั€ัั‹, ะบะพั‚ะพั€ั‹ะต ะฟะพะดะดะตั€ะถะธะฒะฐัŽั‚ ะธะปะธ ะฝะต ะฟะพะดะดะตั€ะถะธะฒะฐัŽั‚
        // ะฟะตั€ะตั…ะพะดั‹ seek ะฟั€ะธ ะทะฐะณั€ัƒะทะบะต, ะฟะพั…ะพะถะต, ั‡ั‚ะพ ัั‚ะพ ั„ะธะณะฝั - ะฟั€ะพัั‚ะพ ะดะตะปะฐะตะผ seek ัั€ะฐะทัƒ ะฟะพัะปะต ะทะฐะณั€ัƒะทะบะธ)
        // Exoplayer plays new Playlist from the beginning instead of provided position
        // https://github.com/google/ExoPlayer/issues/4375
        // How to load stream in the desired position? #2197
        // https://github.com/google/ExoPlayer/issues/2197
        // ะฒ ัั‚ะพะผ ะผะตัั‚ะต ะฝะพั€ะผะปะฐัŒะฝั‹ะน duration ะตั‰ะต ะฝะต ะดะพัั‚ัƒะฟะตะฝ, ะฟะพัั‚ะพะผัƒ ะตะณะพ ะฝะต ะฟั€ะพะฒะตั€ัะตะผ
        //if(seekTo > 0 && seekTo < videoPlayerView.getPlayer().getDuration()) {
        if (seekTo > 0) {
            // ะฝะฐ 5 ัะตะบัƒะฝะด ั€ะฐะฝัŒัˆะต
            videoPlayerView.getPlayer().seekTo(seekTo - 5000 > 0 ? seekTo - 5000 : 0);
        }
        videoPlayerView.getPlayer().setPlayWhenReady(true);
    }
}

ื‘ืขื™ื•ืช ื™ื“ื•ืขื•ืช

  • ืœื ื™ื ื’ืŸ ืกืจื˜ื•ื ื™ื ืขื ื”ื’ื‘ืœื•ืช ื’ื™ืœ ื”ื“ื•ืจืฉื•ืช ื›ื ื™ืกื” ืœื—ืฉื‘ื•ืŸ Google/YouTube ืฉืœืš

ืœื“ื•ื’ืžื”: ืื™ืœื™ื” ืžื•ืจื•ืžื˜ืก, ืงื•ื ืฆืจืŸ ืงื•ืœื ื•ืข ืžื•ืกืคื™ืœื, ืจื•ืกืœืŸ ื•ืœื•ื“ืžื™ืœื” ืกืจื˜ 1, ื—ืฉืฉ ืœืกืจื˜ื™ ืžื•ืกืคื™ืœื

ืขืฆื”: ื”ื•ืกืฃ ืกืจื˜ื•ื ื™ื ื›ืืœื” ืœืจืฉื™ืžื” ื”ืฉื—ื•ืจื” ืื• ื‘ืงืฉ ืžืžื—ื‘ืจ ื”ืกืจื˜ื•ืŸ ืœื”ืกื™ืจ ืืช ื”ื”ื’ื‘ืœื” ืฉื”ื•ื’ื“ืจื” ื‘ื˜ืขื•ืช.

  • ื—ืœืง ืžืกืจื˜ื•ื ื™ ื”ืฉื™ื“ื•ืจ ืฉืขื‘ื•ืจื ื”ืฉื™ืจื•ืช ืžื—ื–ื™ืจ ืื•ืจืš ืืคืก ืœื ื™ื•ืคืขืœื• (ืขื‘ื•ืจ ืกืจื˜ื•ื ื™ื ื›ืืœื”, ืžืฉืš ื”ื–ืžืŸ ื‘ืจืฉื™ืžื•ืช ื•ื‘ื’ืœืจื™ื” ืžืกื•ืžืŸ ื›"[dur undef]").

ืœื“ื•ื’ืžื”: ื—ื›ื” ืœื–ื”! ื›ืœ ื”ื’ืœื™ื•ื ื•ืช ืฉืœ Soyuzmultfilm HD (ืงืจื™ืงื˜ื•ืจื•ืช ืœื™ืœื“ื™ื), ืงืจื™ืงื˜ื•ืจื•ืช ืžืื•ืœืคืŸ Soyuzmultfilm, ืกืจื˜ื™ื ืžืฆื•ื™ืจื™ื ืžื•ื‘ื™ืœื™ื Soyuzmultfilm, ืงืจื™ืงื˜ื•ืจื•ืช ืžืกื˜ื•ื“ื™ื• Soyuzmultfilm

ืขืฆื”: ื”ื•ืกืฃ ืกืจื˜ื•ื ื™ื ื›ืืœื” ืœืจืฉื™ืžื” ื”ืฉื—ื•ืจื”.

  • ื™ื™ืชื›ืŸ ืฉืกืจื˜ื•ื ื™ื ืฉื–ืžื™ื ื™ื ืจืง ื“ืจืš ืงื™ืฉื•ืจื™ื ื™ืฉื™ืจื™ื ืœื ื™ื™ื›ืœืœื• ื‘ืคืœื™ื™ืœื™ืกื˜ ื”ืžืงื•ืžื™, ื’ื ืื ื”ื•ืจื“ืช ืืช ื›ืœ ื”ืกืจื˜ื•ื ื™ื ืฉืœ ื”ืžืฉืชืžืฉ

ืœื“ื•ื’ืžื”: ืื™ืœื•ืฃ ื”ืืฉ ืคืจืง 1, ื—ืฉืฉ ืœืงื•ืœื ื•ืข ืžื•ืกืคื™ืœื

  • ืื ื ืชืงืœืชื ื‘ืกืจื˜ื•ืŸ ืคื•ืžื‘ื™ ืฉืื™ื ื• ืžืฆืจื™ืš ื›ื ื™ืกื”, ืžืชื ื’ืŸ ื‘ื“ืคื“ืคืŸ, ืืš ืื™ื ื• ืžืชื ื’ืŸ ื‘ื ื’ืŸ, ืฉืœื— ื“ื•ื— ื‘ืื’ (ื™ื™ืชื›ืŸ ื‘ื”ื—ืœื˜ ืฉื”ื‘ืขื™ื” ื›ื‘ืจ ืชื•ืงื ื” ื‘ื’ืจืกื” ื”ื—ื“ืฉื” NewPipeExtractor ื•ืืชื” ืชืฆื˜ืจืš ืจืง ืœืขื“ื›ืŸ ืืช ื”ืžื›ืœื•ืœ ืขื ื’ืจืกื” ื–ื•, ืœื“ื•ื’ืžื”).

  • ื”ืžืžืฉืง ืขืฉื•ื™ ืœื”ืื˜ ืื ื”ืื™ื ื˜ืจื ื˜ ืื™ื˜ื™ (ืืš ืœื ื›ื‘ื•ื™)

ื›ืชื•ืฆืื” ืžื›ืš,

ื”ื‘ืŸ ืฉืœื™ ืขื‘ืจ ืžื˜ืื‘ืœื˜ ืœื˜ืœื•ื•ื™ื–ื™ื” ื—ื›ืžื” ืฉืœ ืกืžืกื•ื ื’, ืฉืื™ื ื” ื™ื›ื•ืœื” ืœื”ืจื™ืฅ ืืคืœื™ืงืฆื™ื•ืช ืื ื“ืจื•ืื™ื“. ืœื›ืŸ, ื‘ืงืจืช ื”ื”ื•ืจื™ื ื”ื˜ื•ื‘ื” ื‘ื™ื•ืชืจ ื”ื™ื ืขื“ื™ื™ืŸ ืื™ืฉื™ืช.

ืื‘ืœ ื”ืืคืœื™ืงืฆื™ื” ื”ืชื‘ืจืจื” ื›ื ื•ื—ื” ืžืกืคื™ืง ื›ื“ื™ ืฉืื•ื›ืœ ืœื”ืชื—ื™ืœ ืœื”ืฉืชืžืฉ ื‘ื” ื‘ืขืฆืžื™. ื”ืจื•ืฉื ื”ืจืืฉื•ื ื™ ืžื’ืจืกืื•ืช ื”ืขื‘ื•ื“ื” ื”ืžื•ืงื“ืžื•ืช ื”ื™ื” ืฉืื ื™ ื‘ืขื•ืœื ืื—ืจ. ื›ืœ ื”ืชื›ื ื™ื ืžื•ืจื™ื“ื™ื ืžื™ื•ื˜ื™ื•ื‘, ืื‘ืœ ื–ื” ื›ื‘ืจ ืœื ื™ื•ื˜ื™ื•ื‘, ืืœื ืžืฉื”ื• ืื—ืจ, ื‘ื˜ื•ื— ื•ืžื‘ื•ืงืจ, ื›ืื™ืœื• ื”ื•ืฆืืชื ืžืจื‘ื” ืจื’ืœื™ื™ื ืžื”ืขื™ืŸ ื•ืฉืžืชื ืื•ืชื• ื‘ืฆื ืฆื ืช ื–ื›ื•ื›ื™ืช. ื•ื–ื” ื”ื›ืœ ืขืœ ื”ื”ืžืœืฆื•ืช.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”