LINUX.ORG.RU

Сообщения SOmni

 

Одновременная запись видео и воспроизведение звука на мобиле

Интересное поведение мобильного хрома (android, не знаю, как другие браузеры и ОС), не могу понять, как победить.

Что нужно: записывать видео и аудио в браузере на телефоне и одновременно воспроизводить звук на подключенной по bluetooth колонке (без микрофона, это важно). Если подключенное по BT устройство имеет и динамик, и микрофон, то работает правильно.

Если играть звук до инициализации камеры и микрофона, то он воспроизводится как нужно, на подключенной по BT колонке. После инициализации (т.е. когда начинаем запись) тот же звук играет уже только на внутреннем динамике. Мобильные браузеры не умеют через enumerateDevices получать устройства типа audiooutput отличные от default. Похоже, этот default и меняется при начале записи. Документации про это найти не удалось. Может кто сталкивался?

Сделал онлайн демку: https://codesandbox.io/s/video-recording-desktop-forked-ptdvc1?file=/src/inde... - если подключить колонку и нажать Play Sound до Init, то играет на колонке, но после Init уже только на внутреннем динамике.

 , ,

SOmni
()

Написать очередь для процессинга видео

Разовая работа. Примерную цену и срок исполнения пишите тут или в телегу @netfox_co.

Нужно написать процессинг видео файлов с очередью и интеграцией с CDN. Все команды для ffmpeg есть, над этим думать будет не нужно, основная работа - очередь и CDN. Написать инструкцию по настройке очереди, добавлению обработчиков, работе с CDN. Объяснить, что подойдёт для решения задачи (кафка/не кафка, что ещё есть). Идеально, если можете сделать на node, но другие варианты тоже рассмотрю.

Сервер должен уметь обрабатывать следующие команды:
1. получить видео-файл, поставить его в очередь на перекодировку, вернуть ID задачи в очереди, чтобы клиент смог позже проверить статус;
2. получить набор параметров (ID существующих видео + настройки), поставить в очередь задачу на комбинирование видео с заданными ID и настройками, вернуть ID задачи, чтобы клиент мог проверить статус;
3. раздать задачи из очереди серверам-исполнителям;
4. выполнить задачу из очереди (ffmpeg, команды есть);
5. по завершении задачи раскидать результат по CDN и обновить статус задачи в очереди, чтобы клиент смог получить результат;
6. проверить и выдать статус задачи (в очереди/в работе/ошибка) по запросу клиента;
7. удалить задачу из очереди по ID либо удалить результат с CDN по ID;

 , , ,

SOmni
()

Подработка (удалёнка, web)

Предлагаю подработку тому, у кого есть ~15-20 свободных часов в неделю. Есть много разнородных задач в нескольких проектах, в основном фронтэнд (react), но бывает разное (node, php, svelte, firebase). Примеры заданий и размер оплаты можно оценить по темам и комментам:

[вакансия закрыта] Разовая работа (node.js, ffmpeg)
Разовая работа (node, swagger)
Ищу работу удалённо: PHP/Laravel/PostgreSQL/MySQL/Vue/Angular/Bootstrap (комментарий)

Предпочтение отдам тому, кто может общаться в телеге, слаке или хотя бы вацапе и в частной переписке назовёт свой ник на ЛОРе. Проверять и шеймить не буду, но может быть вам будет стыдно бесследно исчезнуть и игнорить меня, как это сделали уже несколько других человек. Оставляйте свои контакты здесь или пишите в телегу netfox_co.

 

SOmni
()

getUserMedia и качество звука при записи на телефоне

Можно ли в мобильном браузере при записи звука нормально записать хоть что-то, кроме голоса? В нативных приложениях качество существенно лучше, чем получается записать при помощи getUserMedia. Такое чувство, что режутся все частоты, кроме близких к голосу. Пробовал много онлайн рекордеров, везде одно и то же. Всякие autoGainControl, noiseSuppression, echoCancellation не особо влияют на качество записи.

 

SOmni
()

[вакансия закрыта] Разовая работа (node.js, ffmpeg)

Нужно при помощи ffmpeg разместить от 1 до 6 видео в прямоугольной сетке. Всего 6 вариантов размещения соответственно количеству видео-файлов, пропорции жёстко заданы, но видео могут быть разного размера, так что, возможно, придётся сначала их смасштабировать и/или кропнуть, чтобы подогнать под сетку. Управляться это должно из js на node, так что если нужны какие-то вычисления, которые нельзя затолкать в фильтр ffmpeg, то они могут быть сделаны в этом js.

Оплата 15 000 рублей. Пишите здесь или в телеграм @netfox_co.

UPDATE: человек найден.

 

SOmni
()

Разовая работа (node, swagger)

Есть простой сервере на node (express, multer), 3 точки API. 2 супер-простые (один параметр), одна посложнее - принимает на вход несколько полей с файлами или массивами файлов и несколько полей с JSON-ами, описывающими, что нужно с этими файлами сделать (наложить картинку, текст, скомпоновать, взять серию фреймов, в таком духе).

Нужно написать конфигурационный файл для swagger-а (json или yaml) и модифицировать скрипт сервера, чтобы он делал валидацию и выставлял сваггеровский api-doc с авто-документацией.

Оплата 10000 рублей через WU, paypal, банковским переводом или freelancer.com.

Пишите в телегу netfox_co или оставляйте свои контакты здесь.

UPDATE
Человек найден.

 

SOmni
()

Mini PC с видеозахватом

Задача - стримить видео (обложив его своим контентом), поступающее на вход HDMI, выводя на HDMI же. Ищу устройство, чем меньше по размеру, тем лучше, в идеале под linux.

Вроде такого Artigo A900, но там древний андройд, что слегка напрягает.

Отдельное спасибо тому, кто сможет что-нибудь рассказать про HDCP (защита цифрового контента) - в смысле, что сделать, чтобы легально можно было его через этот mini-pc прогнать.

 ,

SOmni
()

Игра на react + redux без канваса

В целях знакомства с redux (и webpack) написал игру в стиле спектрумовского Jetpac. На гитхабе. Демка.

Так как я игр не писал никогда, подозреваю, что с механикой там есть проблемы. Что бы почитать по теме выстраивания правильного игрового цикла? Ещё может кто-то что-нибудь подскажет по оптимизации, а то подтормаживает на планшетах. Или может тут гуру redux-а есть, готовые посмотреть на код и прокомментировать верность/неверность подхода.

Без канваса - потому что было интересно, что получится на голом DOM-е.

И ещё хочу заменить спрайты и картинки, потому что у меня есть сомнения по лицензионной чистоте текущих. Кто-нибудь знает, где можно купить/заказать спрайтов за не очень дорого?

 , ,

SOmni
()

Сервис для поиска лучших цен на книги, музыку и приложения

Потихонечку пилю сервис для поиска и сравнения цен на цифровой контент. На данный момент ищет:
- приложения в itunes, google play и win store (пример);
- музыку на amazon, itunes, google play, 7digital + варианты для онлайн прослушивания на spotify, xbox live и sound cloud. Особенно хорошо можно сэкономить на альбомах (пример);
- кино. Тут с выбором пока печально, потому как до русских сервисов руки не дошли, а с американскими похожими сервисами трудно конкурировать, потому что многие API внезапно позакрывали регистрацию;
- книги в электронном виде, ищет на литресе, google play, OZON, ТДК, Prestigio Plaza. В itunes книги есть, но они почему-то недоступны для России. Американский вариант ищет ещё и в Banres & Noble, но для России это неактуально (пример);

Буду признателен за комментарии по качеству поиска и подачи результата. Ну и чтобы два раза не вставать, может кто знает какие хорошие магазины (желательно с API) по продаже цифрового контента?

Линукс тут при том, что сэкономив на всём этом можно купить ещё один андроид. Или айфон. Или даже телефон на оффтопике.

 самопиар

SOmni
()

uwsgi + nginx + 20 rps = смерть

Проблема такая: был веб сервер (www0), он перестал справляться с нагрузкой. Решил поставить ещё один вебсервер (www1), но он помирает на шутейной нагрузке в 20 запросов в секунду, хочу понять почему.

Детали:
- проект на django, запросы к БД лёгкие и на каждую страничку их мало (до 5 селектов, редко один insert или update), статистика БД тормозов не показывает, странички возвращают до 6 килобайт, никаких долгих вычислений в скриптах нет;
- на www0 крутятся apache, nginx, mysql, memcached;
- на www1 nginx, uwsgi, memcached;
- www1 помирает через минуту после направления трафика, uwsgi либо не успевает обработать все запросы либо у меня что-то напутано с конфигурацией и запросы вовремя не уходят клиенту, в итоге клиент отваливается по таймауту. Это я к тому, что в логах ошибок uwsgi только одна проблема - broken pipe, никакой нехватки файлов или недоступности сокета нет.

Пробовал ставить gunicorn вместо uwsgi, переносить БД локально на www0, результата нет. nginx в топе есть, но берёт не более 1%, всё остальное кушает uwsgi, по памяти затыков нет.

Машина www1 - двухъядерный Athlon 64 5600+ X2, 2GB памяти (в хетцнере, ага). Конфиги:
uwsgi.conf
nginx.conf
domain.com (nginx)
uwsgi_params
sysctl -a

Вот так выглядит график загрузки проца и потребления памяти.

Это у меня что-то не так настроено или просто машина слабая?

 , ,

SOmni
()

Монетизация виджетов

Я разрабатываю и поддерживаю несколько вебных виджетов. Люди могут ставить их себе в блоги и на сайты бесплатно, на данный момент активно пользуются виджетами несколько сотен сайтов. Думаю их монетизировать при помощи рекламы, размещённой, естественно, внутри моих виджетов, но большинство рекламных сетей такое делать запрещают, ведь получается, что реклама будет появляться на сайтах, которые мне не принадлежат. Т.е. приличные сети, вроде adsense или influads, не разрешают, а с неприличными связываться не хочется, потому что внезапное появление прона или малвари на сайте по вязанию шапочек в мои планы не входит.

Вопрос такой: есть ли рекламные сети, которые специализируются на такого рода вещах (рекламе внутри собственных виджетов)? Тип рекламы: однострочные короткие текстовые ссылки или маленькие изображения. Хочется сначала попробовать что-нибудь уже готовое, прежде чем пуститься во все тяжкие с каким-нибудь openx или изобретать собственный велосипед.

 ,

SOmni
()

Ищу: физический движок на js, который работает с DOM

Хочется немного странного. Нашёл много движков, но все они работают с канвасом, а мне надо простейшую физику над DOM объектами: коллизии, какие-то физические параметры вроде массы, силы притяжения, упругости. Такое уже есть? Или придётся городить на основе какого-нибудь jQuery-collision?

 

SOmni
()

django + memcached

Что-то я с этим кэширвоание в джанге совсем никак не могу подружиться. Кэш протухает за несколько минут. Вот настройки из settings:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
        'TIMEOUT': 86400,
    }
}
Кэширую не шаблоны, а отдельные объекты, вот так:
from django.core.cache import cache
...
cache.set(hash, value, 43200)

Открываю один раз страничку - кэш сформирован, открываю ещё раз через минуту - берётся из кэша, открываю минут через пять - всё, кэша уже нет. Мемкэшеду выдаю 64 мегабайта, из которых бывает занято от силы несколько килобайт. Джанга работает через nginx --> apache, если это важно. Чё за фигня?

SOmni
()

django, memcached и ngrep

На джанговом сайте использую memcached через cache api (кэширую конкретные объекты, а не вьюшки или страницы целиком). Настройки кэша из settings.py:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}
Кэш как-то работает, если законнектиться телнетом к мемкэшу и сделать stats, видно, что идёт какой-то обмен. Хочу посмотреть, что конкретно происходит:

sudo ngrep -d any port 11211

Ничего не выводит. Если при этом в телнете что-нибудь делать, то это что-нибудь ngrep покажет, но не то, что пишется/читается джангой. Вопрос: почему?

 ,

SOmni
()

Rich snippets и javascript

Речь идёт о данных, которые могут отображаться в результатах выдачи поисковиков: всякие там контакты, ревью и рейтинги. Никак не могу найти внятный ответ, могут ли данные в rich snippets загружаться динамически через javascript. Народ пишет, что гугл уже научился исполнять несложный javascript, но, кажется, это не касается микроданных, даже простейший document.write не проходит. Микроформат, вроде, тоже не подразумевает загрузку контента из внешних источников. Так можно ли как-то скормить поисковику динамические микроданные или придётся на сервере их сначала подгружать, кэшировать и выдавать уже как часть кода страниц?

SOmni
()

php-шный loadHTML неверно работает с JS

Пытаюсь загрузить следующий код в domDocument (код упрощён):

<html>
  <body>
    <div>
      <script type="text/javascript">
        <!--
        div.innerHTML = "<div><table><tr><td><a href='#'>close</a></td></tr></table></div>";
        //-->
      </script>
    </div>
  </body>
</html>

Затем делаю saveHTML, на выходе получается:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
  <body>
	<div>
	  <script type="text/javascript">
		<!--
		div.innerHTML = "<div><table><tr><td><a href='#'>close</script>
		</div>";
	    //--&gt;
</body></html>

Т.е. JS парсится как обычный HTML. В документации по loadHTML нет особых упоминаний, как можно управлять её работой. Оборачивание в //<![CDATA[ не помогает. В интернетах информации по проблеме крайне мало, самое подробное, что удалось найти: http://bytes.com/topic/php/answers/646507-problem-loading-html-containing-scr..., но это аж за 2007 год и без решения. Подозреваю, что я просто что-то упустил, но не понимаю что. Кто-нибудь сталкивался?

 loadhtml,

SOmni
()

django openid consumer

Хочу использовать openid для авторизации на сайте, написанном на django. Никакого собственного провайдера, минимум возможностей: залогиниться/разлогиниться.
python-django-auth-openid из репозитория использовать не хочу, потому что мне не нужна интеграция с системой авторизации джанги, не хочу тащить этот комбайн, чтобы потом разбираться, как эту интеграцию вырезать.
python-openid использовать не хочу, потому что там вообще, как я понял, ни какой интеграции с джангой нет, т.е. if request.openid: просто так не сделать, опять же «OpenID support for servers and consumers».
Нашёл https://github.com/jjanssen/django-openid-consumer, но проект выглядит не вполне живым. Кто-нибудь что-нибудь может посоветовать?

SOmni
()

Посоветуйте dedicated server

Что-то достал меня google apps со своими странными лимитами. Было более менее нормально, но решил заранее перейти на платный тариф, когда квота по БД стала выедаться на половину, как итог: 2 доллара в день за непонятно зачем стартующие инстансы. Настройка ожидания в очереди, кажется, ни на что не влияет. Но это всё лирика, всё равно рано или поздно нужно будет переходить на vpn или выделенный сервер. Посмотрел цены на второе, вроде, нормально. Вот что нашёл:
https://accounts.serverpronto.com/signup_std.php?plan=starternew
http://www.superb.net/dedicated-servers/cheapest.php
http://www.webtropia.com/en/home/economy-server.html
http://www.hetzner.de/en/hosting/produkte_rootserver/ex4 - вообще шикарно, за 65 долларов в месяц такая красота + DNS, атлоны ещё дешевле (в чём подвох?)
---
Может, у кого-то есть более интересные варианты?
И ещё вопрос: стоит ли брать какие-нибудь атлоны-64 с установленным x86-64 центосом или дебианом - нет там проблем с вебнёй, вроде питона, постгреса, энджиникса, апача и прочего?

SOmni
()

Тред русского языка и душевного здоровья

Скажите, кажется ли вам идиотической фраза: «я за лимоны, потому что я против апельсинов»? Мне кажется, тут есть какое-то нарушение логики, но люди вокруг утверждают, что всё хорошо.

SOmni
()

Есть ли такой online сервис?

Чтобы скормить ему URL, а на выходе получить какую-то информацию о странице, например, title, keywords, description. Есть такое в интернетах? Понятно, что пишется за полчаса, но это ж надо бесплатный хостинг искать, смотреть, какие там подводные камни, кодить, выкладывать, тестировать...

SOmni
()

RSS подписка на новые темы