Як записувати hromadske.tv та espreso.tv (youtube live)

Нові коментарі

Нова тема   Відповісти
Сторінка:  1, 2  наступна
Автор Повідомлення
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-23 12:53  
Існує можливість зберігати трансляцію Громадського, Еспресо та інших стрімів на youtube - у вихідному форматі.


Windows

Готовий набір для запису:
https://toloka.to/uploads/youtube live ripper 0.3.zip
(28.01.2014)
Список змін

0.3
- оновлено ffmpeg та youtube-dl
- адаптовано під змінений код сторінки Громадського (без curl, grep та awk знову не обійтися)

0.2
- додано 5 канал, 24 канал, espreso maidan live, radiosvoboda
- для роботи ріппера більше не потрібно curl, grep та awk

0.1
- перша збірка ріппера


1. Завантажте та розархівуйте
2. В збірці присутні такі канали:
    Громадське
    Еспресо
    Еспресо Maidan Live
    24 канал
    5 канал
    Радіо Свобода

3. Щоб зупинити запис, натисніть q, почекайте, поки почнеться відлік, і закрийте вікно
4. Файли будуть зберігатися в \output\, якщо станеться якась помилка, скрипт почекає 60 секунд і відновить запис (у новому файлі), навіть, якщо змінився id



Як зробити власний набір:

Завантажте в одну папку
ffmpeg
youtube-dl

hromadske.bat
Код:
:start

for /f %%i in ('curl --compressed -s http://chat-hromadske.tv/static/video.js ^| grep -o -E "www.youtube.com\/v\/(.*) " ^| awk -F"[=?]" "{print $1}"') do set VAR=%%i

youtube-dl --restrict-filenames -o "output\hromadske_%%(id)s_%%(epoch)s.%%(ext)s" %VAR%

TIMEOUT /T 60

goto start


espreso.bat
Код:
:start

youtube-dl --restrict-filenames -o "output\espreso_%%(id)s_%%(epoch)s.%%(ext)s" http://espreso.tv/stream

TIMEOUT /T 60

goto start





Debian та Ubuntu

Код:
sudo apt-get install ffmpeg curl screen


ffmpeg потрібний для того, щоб зберігати стрім. Curl буде використовуватися для парсингу сторінок телебачень. Screen дає змогу виконувати команду у фоновому режимі, тобто можна відключити сесію і команда не зупиниться.

Код:
sudo curl http://yt-dl.org/downloads/2014.01.23.1/youtube-dl -o /usr/local/bin/youtube-dl

sudo chmod a+x /usr/local/bin/youtube-dl

youtube-dl отримує всю необхідну інформацію про стрім із id та передає її ffmpeg. Перевірте найновішу версію: http://rg3.github.io/youtube-dl/download.html

Код:
mkdir /var/youtube
cd /var/youtube


Код:
vi hromadske.sh

for ((n=0;n<100;n++))
do
 OUTPUT=$(curl --compressed -s http://chat-hromadske.tv/static/video.js | grep -o -E "www.youtube.com\/v\/(.*) " | awk -F'[=?]' '{print $1}')

 youtube-dl --restrict-filenames -o "/var/youtube/hromadske_%(id)s_%(epoch)s.%(ext)s" --verbose $OUTPUT
 sleep 60
done


Код:
vi espreso.sh

for ((n=0;n<100;n++))
do
 youtube-dl --restrict-filenames -o "/var/youtube/espreso_%(id)s_%(epoch)s.%(ext)s" http://espreso.tv/stream
 sleep 60
done


Цей скрипт бере посилання на стрім зі сторінки телебачення, потім зберігає його у форматі id_timestamp.mp4. Може статися, що youtube видасть якусь помилку, наприклад 403 або 503, тоді скрипт почекає 60 секунд і повторить команду. Таких повторів буде 100.

Код:
sudo chmod a+x hromadske.sh

sudo chmod a+x espreso.sh

screen

cd /var/youtube

./hromadske.sh


Щоб відключити screen (команда буде продовжувати виконуватися):

CTRL+A, потім натисніть d

Щоб повернутися до screen:

screen -x

або

Код:
screen -ls
screen -r номер
POMEO 
Відео Гуртом - запис з ТБ
Відео Гуртом - запис з ТБ


З нами з: 01.07.08
Востаннє: 15.12.24
Повідомлень: 1293

2014-01-23 13:47  
занадто складно (для мене) (
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-23 13:54  
Насправді це тільки виглядає складно.

Напишу трохи простіше для користувачів Windows:

1. Завантажте ffmpeg
2. Розархівуйте вміст папки bin у C:\Program Files\ffmpeg\
3. Збережіть youtube-dl.exe у папці C:\Program Files\ffmpeg\
4. Створіть там само файл youtubelive.bat з таким вмістом:

Код:
for /l %%x in (1, 1, 100) do (
   "C:\Program Files\ffmpeg\youtube-dl.exe" --restrict-filenames -o "C:\youtube\%%(id)s_%%(epoch)s.%%(ext)s" <тут вставте id>
   TIMEOUT /T 60
)


5. Запустіть youtubelive.bat і почнеться запис.
POMEO 
Відео Гуртом - запис з ТБ
Відео Гуртом - запис з ТБ


З нами з: 01.07.08
Востаннє: 15.12.24
Повідомлень: 1293

2014-01-23 14:32  
з того коду потрібно тільки вставити ід з ютубу ? Типу K2DGT-6C2ew ?
а куди воно має зберігати?
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-23 14:40  
POMEO написано:
з того коду потрібно тільки вставити ід з ютубу

Так.

POMEO написано:
а куди воно має зберігати?

C:\youtube\
POMEO 
Відео Гуртом - запис з ТБ
Відео Гуртом - запис з ТБ


З нами з: 01.07.08
Востаннє: 15.12.24
Повідомлень: 1293

2014-01-23 14:51  
Також так подумав, та щось цієї папки не створилось автоматично.
Створив сам, знову запустив батнік - там має відразу з'явитись файл (немає) чи як?
Щось не виходить. Може через Тім Вьювер хтось налаштує швидше?
Nik111111 
Модератор літератури


З нами з: 10.01.12
Востаннє: 09.05.17
Повідомлень: 1957

2014-01-23 15:32  


що це означає?

папку створило, але файлу немає

Цитата:


for /l %%x in (1, 1, 100) do (
"C:\Program Files\ffmpeg\youtube-dl.exe" --restrict-filenames -o "C:\youtube\%%(id)s_%%(epoch)s.%%(ext)s" jrZcAsPKK74
TIMEOUT /T 60
)



це ід?
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-23 16:05  
Nik111111 написано:
що це означає?

ERROR: m3u8 download detected but ffmpeg or avconv could not be found.

Не вистачає ffmpeg.

Додано через 2 хвилини 35 секунд:

Іншими словами, ffmpeg.exe має бути в тій самій папці, що і youtube-dl.exe.
Nik111111 
Модератор літератури


З нами з: 10.01.12
Востаннє: 09.05.17
Повідомлень: 1957

2014-01-23 16:19  
Konfucius
дякую, почав запис, а як зупинити?
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-23 16:26  
Щоб зупинити треба натиснути q і почекати приблизно на такий результат:

video:624927kB audio:75529kB subtitle:0 global headers:0kB muxing overhead 0.159 118%
[ffmpeg] 718408813 bytes

Після цього почнеться відлік 60 секунд і тоді можна закрити вікно.

Ніколи не зупиняйте запис, закриваючи вікно чи через ctrl+c, бо тоді файл буде без індексу і він не буде відкриватися в більшості програвачів.
Nik111111 
Модератор літератури


З нами з: 10.01.12
Востаннє: 09.05.17
Повідомлень: 1957

2014-01-23 18:24  
Для простоти зробіть так:

1) скачуєте архів для запису...
2) розпаковуєте в папку C:\Program Files\, або де вам зручно, виявив, що розташування папки ffmpeg не має значення.
3) відкриваєте youtubelive і починається запис. запис здійснюється у папку C:\youtube яка створюється автоматично
4) для зупинки запису нажимаєте q

для запису з громадського звідси
для запису з еспресо.тв звідси
для запису з майдан live від еспресо тв звідси
для запису з 5 каналу звідси

Результат.

Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-23 18:33  
Для повного спрощення можна зробити одну папку, де будуть
ffmpeg.exe
youtube-dl.exe
hromadske.bat
espreso.bat
maidan.bat
5.bat

Там буде тільки невелика проблема з тим, що в id може змінюватися.

Nik111111 написано:
C:\youtube

В принципі, кожен теж може її за бажанням змінити. Достатньо відредагувати .bat
Nik111111 
Модератор літератури


З нами з: 10.01.12
Востаннє: 09.05.17
Повідомлень: 1957

2014-01-23 18:58  
Konfucius написано:

ffmpeg.exe
youtube-dl.exe
hromadske.bat
espreso.bat
maidan.bat
5.bat

зараз зроблю)
BOOGud 
VIP


З нами з: 06.03.12
Востаннє: 19.11.24
Повідомлень: 905

2014-01-23 23:18  
народ, сорі за офтоп, але,
щойно натрапив на це:
Цитата:
"Кто сохранил стрим с эспрессо ТВ в ночь 20.01 - 21.01?
Приблизительно в 02:00 - 4:00
В сторону беркута пошел переговорщик в белом шлеме и с белым флагом. На видео показали, как его тут же казнили.
Я увидел, думал отреагируют точно так же как и с случаем казни на арке стадиона. Это видео многие кто видел, но ситуация замялась. Сегодня утром увидел пост на форуме Украинской Правды с описанием происходящего. Решил поднять ситуацию. Цитирую пост дословно, желающие могут его найти по поиску форума. Также прошу, тех кто видел подтвердить внизу хотя бы словесно. На то время смотрело около 36000 человек.
ЦИТАТА:
"Я сидел прошлой ночью наблюдал еспрессо. Там пошёл какой-то умник с белым флагом к ним. ВВшники расступились и пропустили (камера за ним следила). Как только прошёл строй ВВшников, налетела беркутня человек 7-8 и стали пинать, потом лежачего без движухи ещё ногами добили, потом подошел один из беркутни и три раза в упор выстрелил в бессознательное тело из пистолета-травмата. Видно было как от каждого выстрела дёргается лежачее тело. Даже мне, прошедшему войну стало не по себе. Это уже и не уроды даже, это полностью сформированный материал для виселицы."


то аж не віриться що таке дійсно могло статися,

ні в кого часом нема запису за цей період??
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-23 23:47  
Якраз після того, як я це прочитав, я вирішив знайти спосіб, як записувати Sad (1)
ssTAss 
Загальний модератор Толоки


З нами з: 05.07.08
Востаннє: 15.12.24
Повідомлень: 23512

2014-01-24 00:10  
BOOGud написано:
то аж не віриться що таке дійсно могло статися,

дивують мене наші "лідери" опозиції - вітаються за руку з бандюком, нє щоб пронести пістоля і ....
все б скінчилось, врятували б більшість люду і цілу країну
та й "той" б став Національним Героєм України більшим за будь-кого
ееех, *кишка тонка*... тільки кричати зі сцени і по телєвізору можуть
думаю, Лемик чи Мацейко б знайшлись, от тільки де взяти Бандеру чи Шухевича?

Додано через 5 хвилин 29 секунд:

Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-24 02:05  
Отже, мені вдалося зробити автоматичний пошук id для Громадського та Еспресо на Windows.

Разом з цим я зробив архів, де є вже все необхідне для того, щоб почати записувати:
https://toloka.to/uploads/youtube%20live%20ripper.zip

1. Завантажте та розархівуйте.
2.Для Громадського запустіть hromadske.bat
Для Еспресо - espreso.bat
Хочете записати інший стрім - відкрийте в блокноті other.bat і впишіть туди id відео

3. Щоб зупинити запис натисніть q, почекайте, поки почнеться відлік і закрийте вікно
4. Файли будуть зберігатися в \output\
POMEO 
Відео Гуртом - запис з ТБ
Відео Гуртом - запис з ТБ


З нами з: 01.07.08
Востаннє: 15.12.24
Повідомлень: 1293

2014-01-24 02:43  
ну нарешті.
Тепер працює )
Ще 24 канал майже постійно транслює всі події
NeetScrool 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 10.01.13
Востаннє: 13.12.24
Повідомлень: 3204

2014-01-24 07:38  
Конфуцію, можеш прикрутити опцію вибору якості?
У 1080р 1 хв займає приблизно 20мб. Отже доба займатиме ~28гб, що досить багато. 720р, за логікою мало б займати удвічі менше.

А також автоматичний конверт часу із юнікс формату. | На колінці накидав свій

І додайте, що для OS Windows бажано запускати із правами адміністратора.
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-24 10:21  
Щоб записувати Громадське у 720p треба додати перед -o наступне:

-f 95

bat має виглядати так
Код:
:start

for /f %%i in ('curl --compressed -s "http://hromadske.tv/episode/128" ^| grep -o -E "www.youtube.com\/embed\/(.*) " ^| awk -F"[=?]" "{print $1}" ^| awk -F"[=/]" "{print $3}"') do set VAR=%%i

youtube-dl --restrict-filenames -f 95 -o "output\hromadske_%%(id)s_%%(epoch)s.%%(ext)s" %VAR%

TIMEOUT /T 60

goto start
Додано через 4 хвилини 38 секунд:

NeetScrool написано:
А також автоматичний конверт часу із юнікс формату.

Timestamp там фактично для того, щоб не було повторів у випадку, якщо розірветься зв'язок або людина тимчасово зупинить запис. Якби його не було, програма би викидала помилку, що такий id вже записано.
NeetScrool 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 10.01.13
Востаннє: 13.12.24
Повідомлень: 3204

2014-01-24 10:41  
Konfucius
Ще б опціонально додати можливість автоподілу запису по годинам. Окремий файл на годину. Для легшого пошуку.
Скажімо по повній годині 13:00-14:00, 14:00-15:00 тощо.

Додано через 46 секунд:

Konfucius написано:
Timestamp там фактично для того, щоб не було повторів у випадку, якщо розірветься зв'язок або людина тимчасово зупинить запис. Якби його не було, програма би викидала помилку, що такий id вже записано.

Розумію. Але у випадку, якщо справді стався обрав було б добре бачити людинозрозумілу дату.

P.S. У скрипті Perl чи Python?
POMEO 
Відео Гуртом - запис з ТБ
Відео Гуртом - запис з ТБ


З нами з: 01.07.08
Востаннє: 15.12.24
Повідомлень: 1293

2014-01-24 11:26  
NeetScrool написано:
У 1080р 1 хв займає приблизно 20мб. Отже доба займатиме ~28гб, що досить багато

В мене 5 годин 20 хвилин займає всього 6,2 Гб
і воно якось автоматично створило інший файл після цього розміру...
NeetScrool 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 10.01.13
Востаннє: 13.12.24
Повідомлень: 3204

2014-01-24 11:51  
До речі, є якісь зависання. Правда не знаю з чим це пов'язано.
Можливо коли зависає саме громадське/ютуб.
Лог просто зупиняється і все. Кнопка q не допомагає. ffmpeg процесор не навантажує.
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-24 16:43  
Нова версія збірки.

- додано 5 канал, 24 канал, espreso maidan live, radiosvoboda
- для роботи ріппера більше не потрібно curl, grep та awk
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-28 23:13  
0.3
- оновлено ffmpeg та youtube-dl
- адаптовано під змінений код сторінки Громадського (без curl, grep та awk знову не обійтися)
YaWrangler 
Поважний учасник


З нами з: 29.07.12
Востаннє: 14.12.24
Повідомлень: 247

2014-01-28 23:29  
А через Fraps не простіше?
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-28 23:35  
Ні.

1. Поки пише Fraps, неможливо користуватися комп'ютером.
2. Мій спосіб зберігає оригінальну трансляцію, без перекодування, що означає найкращу можливу якість і малий розмір файлу. Я собі взагалі не уявляю, скільки будуть займати 24 години 1080р, записані за допомогою Fraps.
YaWrangler 
Поважний учасник


З нами з: 29.07.12
Востаннє: 14.12.24
Повідомлень: 247

2014-01-28 23:39  
Konfucius
Ви праві... Про розмір я забув...
Konfucius 
Управління
Управління


З нами з: 30.09.07
Востаннє: 25.11.24
Повідомлень: 5252

2014-01-29 10:24  
Громадське повернуло старий код (немає більше чим зайнятися?!), щоб запис працював, достатньо замінити один файл:

hromadske.bat

Код:
:start

youtube-dl --restrict-filenames -o "output\hromadske_%%(id)s_%%(epoch)s.%%(ext)s" http://hromadske.tv/episode/128

TIMEOUT /T 60

goto start


31.01.2014: більше не актуально. Використовуйте файл з набору 0.3
NeetScrool 
Відео Гуртом - фільмокрай
Відео Гуртом - фільмокрай


З нами з: 10.01.13
Востаннє: 13.12.24
Повідомлень: 3204

2014-01-29 13:55  
Konfucius
А що із зависаннями? У мене час від часу завис і все. Допомагає лише закриття консолі, що в свою чергу приводить то втрати усього запису (не рідко 3-4 гб).
Ваш часовий пояс: GMT + 2 Години

Нова тема   Відповісти Сторінка:  1, 2  наступна