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

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













---


КОММЕНТАРИИ

Местный
Рег: 22.09.2021
Ком-ев: 220
Рейтинг: 275
sam 6 сентября 2023 23:25 #92051
Цитата: Prohozhij, 06.09.2023 22:56, №92050
необходима какая то пакетная обработка

я еще пока не знаю как такую задачу решить ) это не разделять файл по байтам, условие более сложное, надо спросить у чатжпт, может идею подкинет)
для начала надо посмотреть что там за сегменты, может в процессе выявится кривизна и появится направление для дальнейшего решения

как писать ffmpeg'ом?

там (cam4 и проч.) одним ffmpeg не обойтись, нужно еще получить ссылки на стрим (curl, PS, любой ЯП)
а в streamlink уже есть плагины для этого
ну и потом, ffmpeg (в целом) - не очень подходит для записи онлайн трансляций:
1. проблема c CRLF (для передачи http-заголовков) при запуске через bat
2. может зависнуть при чтении playlist (на некоторых сайтах) - тогда нужно писать костыль, что-бы прибивал конкретный процесс ffmpeg - но это было достаточно давно, может уже и нет этого бага
  • 0

Любитель
Рег: 30.08.2017
Ком-ев: 406
Рейтинг: 1018
Prohozhij 6 сентября 2023 22:56 #92050
Цитата: sam, 06.09.2023 22:04, №92049
можно попробовать развалить файл на сегменты

Такие файлы с cam4 и myfreecams довольно часто пишутся, записи пачкой исправляются батником и исходники удаляются. Поэтому необходима какая то пакетная обработка.

я пишу ffmpeg'ом - он в процессе записи трансляции, "на лету", исправляет тайминги

Можете написать подробней как писать ffmpeg'ом? Хотя... плагины все для streamlink, так что вряд ли что автоматизированное получится.
Еще вариант.
Можно ли научить батник при появлении ошибки:
Download of segment 9945 failed (('Connection broken: IncompleteRead(2129051 bytes read, 419736 more expected)', IncompleteRead(2129051 bytes read, 419736 more expected)))

Заканчивать запись файла и начинать писать новый файл не запрашивая по новой адрес трансляции, а писать по предыдущему адресу?
  • 0

Местный
Рег: 22.09.2021
Ком-ев: 220
Рейтинг: 275
sam 6 сентября 2023 22:04 #92049
Цитата: Prohozhij, 06.09.2023 11:09, №92046
Записал тестовый файл.

можно попробовать развалить файл на сегменты, а затем уже через concat в ffmpeg собрать
я пишу ffmpeg'ом - он в процессе записи трансляции, "на лету", исправляет тайминги, а streamlink.exe похоже что просто конкатенирует в файл все сегменты
  • 0

Любитель
Рег: 30.08.2017
Ком-ев: 406
Рейтинг: 1018
Prohozhij 6 сентября 2023 11:09 #92046
Записал тестовый файл. У модели в начале трансляции связь была так себе, регулярно в батнике появлялась подобная ошибка:
Download of segment 9945 failed (('Connection broken: IncompleteRead(2129051 bytes read, 419736 more expected)', IncompleteRead(2129051 bytes read, 419736 more expected)))

Этот файл полностью перегнать в mp4 не получается.
P.S.
Еще вопрос, на cam4 у некоторых моделей трансляции подвисают.
Возьмем например модель engelcantrell
Через батник на сейчас адрес ее трансляции:
https://cam4-hls.xcdnpro.com/282/cam4-origin-live/EngelCantrell-282-883bec32-3b59-4765-a76f-808fee1212e0_aac/playlist.m3u8
При этом есть еще адрес:
https://cam4-hls.xcdnpro.com/282/cam4-origin-live/EngelCantrell-282-883bec32-3b59-4765-a76f-808fee1212e0_aac/chunklist.m3u8
И в данный момент, у меня, по второму адресу трансляция зависает поменьше.
Есть ли возможность исправить плагин cam4 так что бы можно было вводить не только ник модели но и оконцовку адреса трансляции?
Пишу такими батниками сразу нескольких моделей:

Запускается таким
  • 0

Местный
Рег: 22.09.2021
Ком-ев: 220
Рейтинг: 275
sam 22 августа 2023 16:58 #91999
Цитата: Prohozhij, 22.08.2023 14:36, №91998
Зная примерно сколько весит кусок на 2-14, есть способ отрезать от TS файла в начале примерно такой объем?

я пробовал с flv такое проделывать
но оставлял начало (в нем метаданные и прочие важные заголовки) и склеивал с серединой или концом файла
у ts тоже эти данные хранятся в начале
[заголовок|50MB|450MB] -> [заголовок|450MB]
по софту ничего оптимального не подскажу, резка больших бинарных файлов - нетривиальная задача
есть hex редакторы, всякие trunc, truncate
  • 0

Любитель
Рег: 30.08.2017
Ком-ев: 406
Рейтинг: 1018
Prohozhij 22 августа 2023 14:36 #91998
Цитата: sam, 22.08.2023 13:26, №91997
а в плеере воспроизводится все что более 2 м. 14 с.

Нет
Цитата: sam, 22.08.2023 13:26, №91997

можно попробовать такую команду:
ffmpeg -hide_banner -ignore_editlist 1 -i input.ts -c copy output.mp4

Создает так же файл на 2-14
Зная примерно сколько весит кусок на 2-14, есть способ отрезать от TS файла в начале примерно такой объем?
  • 0

Местный
Рег: 22.09.2021
Ком-ев: 220
Рейтинг: 275
sam 22 августа 2023 13:26 #91997
значит виновником является streamlink.exe
пиши им багрепорт

Подскажите пожалуйста каким образом?

сравнивая пакеты и фреймы между собой, но одной командой не обойтись, нужно еще где-то хранить (в переменной) значение, т.е. нужен скрипт

а в плеере воспроизводится все что более 2 м. 14 с. ?
можно попробовать такую команду:
ffmpeg -hide_banner -ignore_editlist 1 -i input.ts -c copy output.mp4
  • 0

Любитель
Рег: 30.08.2017
Ком-ев: 406
Рейтинг: 1018
Prohozhij 22 августа 2023 10:10 #91994
Цитата: sam, 21.08.2023 21:15, №91993
@Prohozhij
а чем пишешь? streamlink (не gui) через bat?

Геоблочниц streamlink (не gui) через bat, не геоблочниц streamlink gui 2.0.4 Файлы такие пишутся и там и там.
Цитата: sam, 21.08.2023 21:15, №91993
@Prohozhij
может обновить нужно streamlink, ffmpeg

Сейчас использую streamlink-6.0.0-1, такое же поведение было начиная с версии 2.4.0. ffmpeg 6.0, на предыдущих опять же было все тоже самое.
Цитата: sam, 21.08.2023 21:15, №91993
@Prohozhij
попробовать найти эти обрывы с помощью ffprobe

Подскажите пожалуйста каким образом?
Цитата: sam, 21.08.2023 21:15, №91993
@Prohozhij
а вообще, ffmpeg должен выдавать какие то ошибки, есть они?




Продолжительность этой записи точно не 2 минуты, там несколько часов, судя по объему около 2ГБ, и качесте 720р.
  • 0

Местный
Рег: 22.09.2021
Ком-ев: 220
Рейтинг: 275
sam 21 августа 2023 21:15 #91993
@Prohozhij
а чем пишешь? streamlink (не gui) через bat?
может обновить нужно streamlink, ffmpeg
попробовать найти эти обрывы с помощью ffprobe
а вообще, ffmpeg должен выдавать какие то ошибки, есть они?
  • 0

Любитель
Рег: 30.08.2017
Ком-ев: 406
Рейтинг: 1018
Prohozhij 21 августа 2023 17:51 #91991
При записи трансляций с myfreecams иногда попадаются записи которые не получается полностью перегнать в mp4 батником TS_to_MP4.cmd с исправлением тайминга записи.
Видимо в какой то момент идет прерывание и возобновление трансляции, а батник продолжает записывать. Соответственно mp4 файл получается до такого прерывания. Часть таких файлов можно порезать и по частям перегнать в mp4, а часть порезать не дает.
Подскажите пожалуйста как заставить TS_to_MP4.cmd игнорировать такие перерывания и искать в файле продолжение записи, либо как заставить батники для записи файлов прерывать такие записи и начинать писать новый файл? Обычно эти файлы приличного объема, устанешь заливать для посмотреть).
P.S. Увидел, что при записи батником с прямым адресом потока попадаются такие же файлы.
При записи появляются такие ошибки:
2023-08-23_18-49-15.ts] Written 37.0 MB (1m7s @ 2.3 MB/s)[stream.hls][error] Download of segment 9945 failed (('Connection broken: IncompleteRead(2129051 bytes read, 419736 more expected)', IncompleteRead(2129051 bytes read, 419736 more expected)))

MP4 файл получается до того момента, когда при записи появилась такая ошибка.
  • 0

Редактор
Рег: 15.03.2017
Ком-ев: 914
Рейтинг: 2717
crazyborder 13 августа 2023 20:21 #91956
@Meson
А чем из шапки не устраивает? Для 5 версии стримлинка см. ссылку на Гугл Драйв.
P.S. Камсода в РФ заблочена, opera-proxy не катят. Через NekoRay - ОК.
  • 1

Новичок
Рег: 22.07.2019
Ком-ев: 33
Рейтинг: 51
Meson 13 августа 2023 08:14 #91954
Всем привет. У кого-то есть рабочий плагин для camsoda? Под streamlink 5 и выше, буду очень благодарен.
  • 0

Любитель
Рег: 1.03.2019
Ком-ев: 162
Рейтинг: 623
Frolow 10 августа 2023 12:49 #91946
Всем привет, кто может подсказать, почему-то Streamlink GUI 2.04 стал хавать всю озу, 18гигов. В списке 18 моделей, причем только бонговские. Второй запущенный процесс streamlink gui 2.04 с включенным прокси работает с чатуром и там более 30 моделей - жрет до 1гб. С чем связано??
  • 0

Новичок
Рег: 23.02.2017
Ком-ев: 4
Рейтинг: 8
atom243 31 июля 2023 00:09 #91913
Маленький вопросик по записи моделей в разные папки (опция в настройках SeparateDirectoryForEachModel=1). После того как бонга убрала переадресацию на страницу профиля когда модель оффлайн, все модели с бонги показывались как будто они онлайн, что недавно исправлял Евгений (коммент #91873). Но также сломалось поведение при старте скрипта - папка для модели теперь создается сразу при старте, а ранее создавалась только когда модель выходила онлайн.
Если я правильно понимаю это связано с условием в функции StartRecording в блоке recordBongaCams - там есть условие
if ($json.performerData.showType -eq "public")
которое сейчас работает некорректно, так как теперь showType равен "public" всегда.
Попробовал поменять условие на что-то типа
if (GetModelStatus("BongaCams", $model_name) -eq "public")
(естественно функция GetModelStatus с доработкой Евгения, статусы в StreamlinkGUI отображаются корректно), но что-то оно не сработало как надо.
Подскажите, как это дело лучше поправить?
  • 0

Местный
Рег: 4.02.2015
Ком-ев: 171
Рейтинг: 336
MoreMe 30 июля 2023 08:21 #91911
@ognestrag,
https://www.chaturbate.wang
Я статусы чекаю через GUI, а пишу через батник, без проксей. (Батник записи с Chaturbate с прямым адресом потока)
  • 0

Редактор
Рег: 15.03.2017
Ком-ев: 914
Рейтинг: 2717
crazyborder 30 июля 2023 04:20 #91910
@ognestrag
Попробуй эти:

Если ОК, то в статусе null не будет.

Напомню, что статус, в числе прочего, влияет на то, использовать ли прокси или нет для конкретного ника.
Статус null - еще не приговор. Если располагать качественными прокси, то на статус null можно, в принципе, плевать. Просто в этом случае ВСЕ модели онлайн с пометкой null, независимо от геоблокировки, будут пытаться записываться через ПРОКСИ.
Нужен ли такой костыльный вариант - решать пользователю. Куда рациональнее все-таки поискать подходящие зеркала для Чатура, доступные без прокси. Их немало.
Геоблочницы, при любом раскладе, будут записываться только через прокси (речь идет про Streamlink GUI).
  • 0

Любитель
Рег: 3.01.2015
Ком-ев: 16
Рейтинг: 72
ognestrag 29 июля 2023 23:05 #91909
товарищи специалисты, подскажите как исправить ситуацию. chaturbate перестала писать. при этом статус модели определяется. обычно если в статусе null я менял адрес сайта на зеркало в setting или обновлял список proxy и в принципе все работало. судя по тесту есть какая то проблема с curv но я тупой и что куда не очень понимаю. подозреваю что дело лечится VPN но опять же дальше включения его в браузере не умею. бонга после фикса пишет нормально, другие сайты не записываю.
  • 0

Местный
Рег: 14.02.2016
Ком-ев: 258
Рейтинг: 1220
coolhacker 23 июля 2023 16:14 #91898
@D-Pulse,
https://gofile.io/d/uTWTji
вот изменения в эти две функции.
по чек статусу теперь оно автоматом стартанет и стопнет запись в зависимости от статуса онлайн\офлайн.
ну и в чек статус ол автоматом стопнет запись при переходе в офлайн.
для того что бы запись стартовала автоматически при переходе в онлайн в насройках включено: StartRecordingIfStatusOnline=1
изменения явно не идеальны, бывают глюки, что статусы залипают, рекомендую периодически раз в день-два посматривать продолжает ли писалка проверять статусы.
  • 1

Новичок
Рег: 2.04.2021
Ком-ев: 10
Рейтинг: 5
DedMazay 23 июля 2023 01:33 #91897
Подтверждаю. Стримлинк теперь выжирает почти 25гб оперативной памяти и грузит сервак 16 ядер на 100%.
  • 0

Модератор
Рег: 22.10.2014
Ком-ев: 9 915
Рейтинг: 34304
D-Pulse 22 июля 2023 21:43 #91896
Цитата: coolhacker, 20.07.2023 11:44, №91889
Напрягала нагрузка проца на ровном месте и раньше. Может я как-то не так настроил писалку, но у меня если был выставлен статус "запись", то он оставался и после того как модель уходила в офлайн. а пока статус "запись" стоит, он постоянно запускает стримлинк. По итогу сделал автоматический стоп записи, когда модель уходит в офлайн. Стало сильно легче, никакой особой нагрузки на проц хоть 10 хоть 150 моделей в списке. Я могу выложить измененный файл, но лучше если изменения внесет автор, таким образом они будут сохраняться при будущих обновлениях.

проблемка с нагрузкой на процессор от StreamlinkGUI-2.04 так и не решилась после изменений на бонге, давай попробуем твой хак или фикс.
только может лучше напиши какие ты правки вносил в код и какие настройки делал в settings, чтобы можно было лучше понять логику этих правок.
  • 3
Лента архива smotri.com
открыть
теги
online