Инструкции, Софт, рекомендации

Здесь обмениваемся советами относительно разного применяемого в нашем деле софта по записям трансляций, обработке видеофайлов.
Рекомендуем программы, делимся опытом использования, разъясняем инструкции, как по софту, так и по другим техническим вопросам по теме форума.













---


КОММЕНТАРИИ

Новичок
Рег: 17.01.2019
Ком-ев: 219
Рейтинг: 844
NissanXYZ 24 сентября 2019 16:56 #72064
HIDE!
  • 1

Новичок
Рег: 24.05.2015
Ком-ев: 295
Рейтинг: 381
fufudia 24 сентября 2019 01:31 #72052
Цитата: Skaut
Цитата: fufudia
Это важно для тех сервисов (как например ливача), где видеопоток можно получить только залогинившись.

Для получения потока ливачи логиниться не обязательно, т.е. совсем не обязательно.

Это давно было, с тех пор алгоритм не менял.
Без логина:


Т.е. что бы получить стрим, надо несколько раз дёрнуть API сначала с логином/паролем, а потом с ID сессии. Если есть более лёгкий вариант - жду.

@Skaut,
Уф!Будешь выклвдывать записи? Ждём.
  • 0

Новичок
Рег: 24.05.2015
Ком-ев: 295
Рейтинг: 381
fufudia 24 сентября 2019 00:42 #72050
PPS Кто то апвотит мои линуксовые инструкции. Я не верю в то, что я такой замечательный педагог (стараюсь объяснять максимально просто и поэтому многие детали теряются) Вобщем если что то непонятно - в личку. Всегда буду рад объяснить. Как говорят наши монгольские друзья: You are welcome!
  • 2

Новичок
Рег: 3.11.2016
Ком-ев: 6
Рейтинг: 2
Skaut 24 сентября 2019 00:34 #72049
Цитата: fufudia
Это важно для тех сервисов (как например ливача), где видеопоток можно получить только залогинившись.

Для получения потока ливачи логиниться не обязательно, т.е. совсем не обязательно.
Цитата: fufudia
Примерно так работает автоматический старт записи.

Автоматический старт записи здорового человека работает примерно вот так:

Курс линукса для новичков это конечно прекрасно, но как-то веселее в обертке, имхо конечно.
  • 1

Новичок
Рег: 24.05.2015
Ком-ев: 295
Рейтинг: 381
fufudia 24 сентября 2019 00:09 #72047
Ещё один небольшой момент: код выполнения.
Пример:
$ grep alias ~/.bashrc > /dev/null ; echo $?
0
$ grep foobar ~/.bashrc > /dev/null ; echo $?
1

Переменная $? показывает результат выполнения последней операции (0 - всё хорошо, не 0 - всё плохо). В данном случае, в файле "~/.bashrc" была найдена строчка "alias" - хорошо; в файле "~/.bashrc" НЕ была найдена строчка "foobar" - плохо.

Как нам это полезно? По определённой строке со страницы вещателя мы можем определить, есть ли сейчас трансляция.

Например:

$ curl -s https://livacha.com/user/krisa1992 | grep -i '<div class="animated flash infinite"><strong><i class="fa fa-circle text-red"></i> Сейчат идет!</strong></div>' > /dev/null ; echo $?
0
$ curl -s https://livacha.com/user/Queenofstrings | grep -i '<div class="animated flash infinite"><strong><i class="fa fa-circle text-red"></i> Сейчат идет!</strong></div>' > /dev/null ; echo $?
1

Означает по сути, что krisa1992 сейчас что то транслирует, а Queenofstrings где то гуляет.

Помните эту мигающую хрень: - это она.
Далее это может быть использовано в скрипте:

if curl -s https://livacha.com/user/krisa1992 | grep -i '<div class="animated flash infinite"><strong><i class="fa fa-circle text-red"></i> Сейчат идет!</strong></div>' > /dev/null; then
    <start record>
else
    <wait for some time then recheck>
fi


Здесь получается: если последняя команда после if возвращает код выполнения 0 - выполнить набор команд после then; если не 0 - выполнить набор команд после else

Примерно так работает автоматический старт записи.

PPPPPPPS
Команды в одной строке. 3 варианта:
<command 1> ; <command 2> # Выполнить <command 1>, затем выполнить <command 2>
<command 1> && <command 2> # Выполнить <command 1>, если код её выполнения 0 - выполнить <command 2> иначе ничего не делать
<command 1> || <command 2> # Выполнить <command 1>, если код её выполнения НЕ 0 - выполнить <command 2> иначе ничего не делать
  • 3

Новичок
Рег: 24.05.2015
Ком-ев: 295
Рейтинг: 381
fufudia 23 сентября 2019 22:55 #72046
Ещё немного, пока не забыл.
В ближайшем будущем нам прийдётся работать с файлами (например, что бы хранить те же cookies) Для этого в Linux есть три места, куда может писать пользователь:
1) домашний каталог, ~
2) Временный общесистемный каталог /tmp
3) Временная файловая система в памяти /dev/shm

Каталог /dev/shm - это оперативная память девайса, т.е. после перезагрузки всё, что там было, исчезает. Но пока девайс работает - это фактически как ещё один диск, но очень быстрый. Попробуем:
$ mkdir /dev/shm/foo # Создать новый катклог на "виртуальном" диске
$ echo -e "Hello\nWorld!" > /dev/shm/foo/hw.txt # В этом новом каталоге создать файл hw.txt с содержимым "Hello\nWorld!" (\n - перевод строки, см. ниже)
$ cd /dev/shm/foo # Сделать активным (текущим) каталог /dev/shm/foo
$ ls # Вывести содержимое активного каталога
hw.txt
$ cat hw.txt # Вывести содержимое указанного файла (hw.txt)
Hello
World!
$ grep -i hell hw.txt # Найти в указанном файле строчку, содержащую "hell" без учёта регистра
Hello


Всё это будет использовано и объяснено в следующей статье, но, думаю, полезно будет и сейчас.

PS: dev - device, shm - SHared Memory, чтобы легче запомнить
  • 3

VIP-webcam
Рег: 8.01.2017
Ком-ев: 1 749
Рейтинг: 4193
karbafos 23 сентября 2019 21:28 #72042
HIDE!
  • 0

Новичок
Рег: 24.05.2015
Ком-ев: 295
Рейтинг: 381
fufudia 23 сентября 2019 21:09 #72041
В продолжение предыдущего банкета (прошу пардон за долгий перерыв)

Статья короткая, восновном теоретическая.

Что такое cookies?

В буквальном переводе - "печеньки", в контексте интернета - это некоторые данные, которые web-сервер генерирует при посещении Вами web-страницы и после основываясь на них идентифицирует именно Вас (очень упрощённое объяснение). Общий механизм выглядит так: Вы зашли на страницу - вместе с кодом страницы сервер передал Вам cookies - при следующем заходе на страницу (не обязательно ту же, но на том же сервере) браузер вместе с запросом передаёт ранее полученные cookies. Например, однажды залогинившись в почте gmail вам в дальнейшем уже не надо логиниться. Это потому, что при первом логине сервер передал вам соответствующие cookies и в дальнейшем основываясь на них он уже знает, кто вы.

Простой пример:

$ curl -I https://livacha.com
HTTP/1.1 200 OK
Server: nginx
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Cache-Control: no-cache, private
Date: Mon, 23 Sep 2019 17:58:15 GMT
Set-Cookie: XSRF-TOKEN=eyJpdiI6ImltdDFDZVVocmM1QWNjWDlkd25TdXc9PSIsInZhbHVlIjoid3JHMnJYSTcwY0xcL3NicEwyNU9Od0VIU2dXdlRaT29odUhCejVtNEh5bmlrbm44WTdzZ0FSWFQ2NUdYa2RNNUViNXdZWVZTTERcL1JRUFl5WUdxT2hnZz09IiwibWFjIjoiYjhhNjkwMmU3OGZiNDkxOGY1YjUzNjUxNGU5ZmQ4ZjcwNzMyOGJkNWIzNmYyOTMzNjAyMGRiYjdkNmYzMDQ4NSJ9; expires=Mon, 23-Sep-2019 18:58:15 GMT; Max-Age=3600; path=/
Set-Cookie: livacha=eyJpdiI6IjBuK1QycGtNS2lWT01kdDdOaWtKUHc9PSIsInZhbHVlIjoiQUw4S2tqemZjcnhlTTIrSVcyaFluTmkxd1F4UE5tZzNyamxZTGw5UEdoQkJUaHNCdlNJdTdiV3ZUWjJQQ2JwaEtyQ0N5RG9Fb2gzRkpMbTl2bWtzeFE9PSIsIm1hYyI6IjVhZTYxNzQ3NjQ4YjM4MDMwYjM4MmQ2ZDkxODkyYjhlZDFkM2I2M2Q5OGY3OTQ1ZmE4NTA2ZGYzYTFmMDA1MDcifQ%3D%3D; expires=Mon, 23-Sep-2019 18:58:15 GMT; Max-Age=3600; path=/; HttpOnly
X-Country: UA

Здесь curl -I <URL> выводит только заголовок без кода самой страницы
Видите "Set-Cookie: ..."? Это те данные, которые сервер ожидает получить от вас при следующем запросе.
Это важно для тех сервисов (как например ливача), где видеопоток можно получить только залогинившись.

Как залогиниться на сервере без использования браузера - рассмотрим через месяц (или раньше 3_55 )
  • 5

Новичок
Рег: 4.05.2016
Ком-ев: 358
Рейтинг: 478
Панда Конг-Фу 23 сентября 2019 18:30 #72036
интересно
  • 0

Новичок
Рег: 24.05.2015
Ком-ев: 295
Рейтинг: 381
fufudia 23 сентября 2019 18:11 #72035
HIDE!
  • 3

Новичок
Рег: 17.01.2019
Ком-ев: 219
Рейтинг: 844
NissanXYZ 19 сентября 2019 09:08 #71899
HIDE!
  • 0

Местный
Рег: 15.12.2016
Ком-ев: 1 707
Рейтинг: 3456
poltergeist 18 сентября 2019 23:05 #71884
@NissanXYZ,
HIDE!
  • 0

Новичок
Рег: 17.01.2019
Ком-ев: 219
Рейтинг: 844
NissanXYZ 18 сентября 2019 16:18 #71867
HIDE!
  • 0

Редактор
Рег: 15.03.2017
Ком-ев: 907
Рейтинг: 2677
crazyborder 13 сентября 2019 22:12 #71702
Как найти ссылку на stripchat.com, например, для записи в streamlink

Вариант №1
Со Стрипчата флеш качает IDM в браузере IE.

Пример ссылки:
"rtmp://b-eu5.stripcdn.com/?sessionHash=flash&domain=stripchat.com/9514705"
Ссылка взята из IDM в IE. Берется как есть, даже править ничего не нужно.
В стримлинк ссылку подавать обязательно в кавычках! (иначе наличие символа & в ссылке вызывает ошибку).

**********
Вариант №2
Шаблон для ссылки:

"rtmp://server/?sessionHash=flash&domain=stripchat.com/ID"

Нужно найти server и ID.
а) Один из вариантов нахождения идентификатора модели.
На примере браузера Хром. Нажать F12 - Network - All - в строке фильтра ввести knight
Возможно, понадобится обновить страницу (F5)
После щелчка на найденной строке справа легко определить ID модели.


б) Один из вариантов нахождения номера сервера.
аналогично, в строке фильтра ввести stripcdn
  • 10

Новичок
Рег: 13.09.2019
Ком-ев: 16
Рейтинг: 31
Soloby 13 сентября 2019 18:11 #71690
всем привет.
подскажите, плиз, как выдернуть прямую ссылку на стрим со стрипчата
  • 0

Новичок
Рег: 24.05.2015
Ком-ев: 295
Рейтинг: 381
fufudia 12 сентября 2019 18:53 #71652
Цитата: D-Pulse
Цитата: fufudia
ЗЫЖ А кстати, как такое видео перекодировать? Бо получается раза в 3 больше чем оригинал, даже с потерей качества.

зачем перекодировать если в этом нет большой необходимости? если нужно изменить формат то просто перекладываем в другой контейнер, как это делать, есть огромный мануал в ТОПе.

Например, при накладывании watermark пережатие полюбому выполняется (понятно, изменяется картинка), даже если не изменять кодек. Вопрос вобщем то теоретический.
С другой стороны, некоторые трансы при перекодировке раза в полтора-два ужимаются (практически без потери качества) Вобщем смысл есть.
HIDE!
  • 0

Модератор
Рег: 22.10.2014
Ком-ев: 9 885
Рейтинг: 33823
D-Pulse 12 сентября 2019 17:55 #71648
Цитата: fufudia
ЗЫЖ А кстати, как такое видео перекодировать? Бо получается раза в 3 больше чем оригинал, даже с потерей качества.

зачем перекодировать если в этом нет большой необходимости? если нужно изменить формат то просто перекладываем в другой контейнер, как это делать, есть огромный мануал в ТОПе.
  • 0

Новичок
Рег: 24.05.2015
Ком-ев: 295
Рейтинг: 381
fufudia 12 сентября 2019 09:31 #71632
Оффтопик, но, кто не читал:
http://lib.ru/RUFANT/DIWOW/dd.txt
Несчастный четырнадцатилетний мальчик был не то, чтобы болен, но - нездоров. Тревожный и мнительный, он даже в элитной школе чувствовал себя плохо. И возможность безбоязненно чатиться на "Культуре" поначалу заметно поддерживала его декомпенсированную психику. Но со временем он так "влип" в интернет, что это увлечение приобрело характер зависимости и стало приносить больше вреда, чем пользы. Доктор настоятельно советовал потихоньку-полегоньку выводить Крутого из Сети.
Опоздали...
  • 0

Новичок
Рег: 24.05.2015
Ком-ев: 295
Рейтинг: 381
fufudia 11 сентября 2019 22:24 #71612
Накладывание ватермарки под Linux (универсальный практически)
Вам нужны установленные пакеты: ffmpeg и imagemagick


В чём отличие от виндовой инструкции:
1) Не надо дополнительных файлов, только скрипт и исходное видео
2) Траектория "полёта" ватермарки упрощена (синусоида слева направо, оригинальная формула почему то убивала ffmpeg у меня, разбираться было лень, я уже давно не школьник и многое забыл :) )
3) Текст надписи можно задать в параметрах запуска (например myscript.sh -i "superpupervideo.mp4" -t "vasia.pupkin"), но по умолчанию используется "forumsmotri.com"
4) Шрифт для надписи: прописан в скрипте (-font Purisa), там же и менять. Получить список имён шрифтов немного заколдовано: в коммандной строке "convert -list font | grep 'Font: .*'"
5) Надпись по умолчанию рисуется контуром. За это отвечают параметры -strokewidth 2 -stroke "rgba(0,0,0,0.1)" Тут запоминаем: rgba(r,g,b,a) четыре параметра означают интенсивность красного, зелёного, синего цветов + уровень прозрачности (чем меньше - тем более прозрачный) Таким образом "0,0,0,0.1" означает "чёрный, очень прозрачный"
6) Собственно, цвет надписи: -fill "rgba(255,255,255,0.1)" - "белый, очень прозрачный"
7) Ширина надписи определяется как половина ширины видео: wmwidth=$(bc <<< "$videowidth/2")
8) Последний вызов ffmpeg - там сами можете параметров накидать.
9) Удачи!

PS: А, да, для пакетной обработки. Если Вы сохранили предыдущий скрипт как "video-wm.sh" (у меня он так называется), то для выполнения его для всех видеофайлов в текущем каталоге:
for filename in *.{mp4,flv,avi,mkv}; do
    test -f "$filename" && video-wm.sh -i "$filename"
done


Или в одну строчку:

for filename in "*.{mp4,flv,avi,mkv}"; do test -f "$filename" && video-wm.sh -i "$filename"; done


Здесь:
*.{mp4,flv,avi,mkv} - все файлы в текущем каталоге с указанными расширениями
test -f "$filename" && ... : если есть такой файл - выполнить команду после "&&"
  • 2

VIP-webcam
Рег: 21.01.2018
Ком-ев: 179
Рейтинг: 1255
roma_drug 8 сентября 2019 22:45 #71508
Цитата: masterbiz
Ребят, а как настроить заливку на 1fichier.com без пароля? И как это делать через FTP?

Можешь так же в папке My Files щелкнуть левой кнопкой мышки по загруженному видео и нажать на замок. Затем ставишь галочку и подтверждаешь

  • 3
Лента архива smotri.com
открыть
теги
online