LINUX.ORG.RU

Сообщения abs

 

ffmpeg и работа с директорией и файлом одинаковым образом (mkv vs mp4 + srt) [SOLVED]

Вот есть у меня скажем такой код который умеет доставать субтитры из mkv

export const getSubtitleFromVideo = (subTitleFileName: string, filePath: File) => {
    return new Promise((resolve, reject) => {
        ffmpeg(filePath).noAudio().noVideo()
        .outputOptions('-map 0:s:0')
        .output(subTitleFileName)
        .on('error', onError)
        .on('progress', (progress) => console.log('PROGRESS:', progress))
        .on('end', () => {
            fs.readFile(subTitleFileName, "utf8", function (err, data) {
                resolve(data)
            });
        })
        .run();
    })
}
(это библиотека враппер fluent-ffmpeg)

А могу ли я как-то одним кодом обрабатывать два случая, и когда у меня один файл .mkv, и когда директория с двумя файлами .mp4 + .srt

(Тут кто-то может сказать, дык ты просто иф напиши если субтитры есть то и и извлекать не нужно, и может быть этот кто-то и будет полностью прав)

[UPD] В комментах подсказали решение именно этой проблемы которую я решал, но само решение я не проверял (решил тем что сразу читаю srt файл)

 , ,

abs
()

Как происходит покупка прав на книгу / аудиокнигу

Делаю сайт где есть возможность слушать аудиокниги, бесплатные книги (например тут http://www.openculture.com/freeaudiobooks) весьма плохого качества.

Возьмем к примеру «война миров» https://open.spotify.com/album/4KDfzEFRIAWbM8M2bD0JJ7

качество гораздо лучше. Каким образом spotify использует эту аудиокнигу? Как я могу получить права на аудиокнигу?

 , ,

abs
()

Ищу пример Network First service worker

Вот на гугле есть такой пример

self.addEventListener('fetch', function(event) {
  event.respondWith(
    fetch(event.request).catch(function() {
      return caches.match(event.request);
    })
  );
});

Но они там говорят

you'll most-likely want to update the cache entry.

Что мол cache-ом сам занимайся. Хотелось бы увидеть пример с кэшем, как я понимаю это должно работать

сервис воркер который будет делать запрос, если за X (400 мс) он
  | отвечает - вернуть ответ, и положить в кэш
  | не отвечает - проверить если ли он в кеше
     |  есть в кеше - дать ответ, запрос не прерывать, по завершению положить в кеш
     |  нет в кеше - продолжает ждать ответ от сервера - когда прийдет вернуть его и положить в кеш

 ,

abs
()

Подскажите алгоритм «перемешки с приоритетом» [Решено]

подскажите алгоритм «перемешки с приоритетом»

хочу примерно следующее

const result = shuffleWithPriority([{el: 1, priority: 0.1}, {el: 2, priority: 10}, {el: 3, priority: 5}])

где в результате будет скорее всего 2,3,1, иногда 3,2,1, и совсем редко 1,2,3 либо 1,3,2

В идеале готовый код на npm, либо код на js. Но и просто описание подойдет.

По поводу эффективности, не критично, но желательно не больше чем O(n^2)

UPD решение

генерируем [псевдо]случайное число от 1 до <максимальный приоритет>
умножаем приоритет на получившееся число
сортируем в порядке получившихся приоритетов

 ,

abs
()

ci/cd статики с помощью jenkins + docker

Я хочу улучшить тот процесс который есть у меня сейчас в выкатке статичного сайта

как это устроено сейчас: single page application + firebase, два разработчика (windows/macOS) на сервере линукс. У меня опыта в devOps ноль, уже несколько недель пробую разобраться - голова кипит :(

1) jenkins раз в минуту мониторит мастер ветку, когда там появился новый код он запускает несколько команд 
 - npm install
 - npm run build
 - мой скрипт на ноде который догенеривает статику
 - команду для деплоя директории со статикой на гугл сервер (VM))
2) на гугл сервере apache 

Проблемы которые есть

1) jenkins стоит у одного из разработчиков на локальной машине на windows.
и переодически он зависает без понятных причин
думаю если засунуть jenkins в докер то его можно релизнуть на любой сервер с линуксом + запускать локально не зависимо от операционки
2) мы (разработчики) не видим локально финального результата.
Если финальный код засунуть в docker мы сможем его локально тестировать, и если все локально норм - получим ровно такую-же картину на сервере) 

Если я буду держать финальный код в докере, каким образом он (докер образ?) должен создаваться, с помощью jenkins? А каким образом релизится?

Вопрос насколько правильно я мыслю? Решит ли docker и jenkins мои проблемы?

 , ,

abs
()

свободные/бесплатные для коммерческого использования английские звуки/слова

Интересует что-то похожее на http://www.ipachart.com/, но более адекватное. Что не нравится в IPA

1) по их же словам 
This page lets you hear the sounds that
 the symbols represent, but remember that 
it is only a rough guide. 

There is lots of variation in how these sounds 
are said depending on the language and context.
2) Согласные звуки звучат просто ужасно, дублируются два произношения, например k звучит как "ка, акка" 
3) нет дифтонгов

Возможно кроме бесплатных звуков есть и бесплатные слова?

 

abs
()

Дырявые пиксели 27" Samsung Curved

Купили на работу новый монитор (вроде LC27F396FHIXCI https://hard.rozetka.com.ua/samsung_c27f396f/p10592292), текст выглядел мягко говоря хреново, игрался настройками не помогло, долго не мог понять в чем дело, потом сфоткал и увидел что некоторые пиксели «дырявые», то есть в одном черном пикселе внутри может быть пустота(белый цвет?).

https://ibb.co/gPPywkb Обратите внимание на букву д, т в слове пере Д Т ем

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

Вопрос в том что это такое? Брак? Как-то это может быть пофикшено?

 , , ,

abs
()

CD/DE wordpress сайта

[UPD; TL;DR]

Я изменения в вордпрессе делаю на релизнутом сайте через FTP - это отстой, хочу сделать это более грамотно, как??

Я не devOps по этому мне немного трудно сформулировать свой вопрос.

Я делаю сайт на wordpress, для этого я купил (пока использую бесплатные 300$) google cloud VM instance + wordpress (гугл сам его установил). Дальше я подключаюсь по FTP и могу изменять файлы, либо подключаюсь по SSH и могу например перезапустить apache.

Мне такой подход не нравится. Я хочу чтоб я мог локально разрабатывать (писать код), использовать git, а для релиза делал бы просто мерж своей ветки в master/release

Также есть некоторые файлы который я менял которые не лежат в папке (отце/бате/директории) var/www/html (А именно эту папку я думал поместить в git), например для создания «красивых» URL мне пришлось редактировать файл /etc/apache2/apache2.conf. За такими изменениями хотелось бы тоже следить.

На данный момент есть два разработчика, у одного windows,у другого mac OS, на сервер-е linux. По этому хотелось бы чтоб локально wordpress работал одинаково независимо от ОС. Еще раз повторюсь что я не devOps, поправляйте меня если где-то я хочу не того. из проблемы XY изначально то чего я хочу это качественный, удобный DE (dev experience) и «надежных релизов»

 , ,

abs
()

защита домена от воровства

Первый раз покупаю домен, где-то читал что мои контактные данные в whois являются моей защитой в случае какого-то конфликта.

Но мой регистратор их скрыл, на вопрос почему он ответил следующее

  • Р - В связи с новой политикой GDPR многие регистраторы перестали открыто отображать информацию административного контакта при запросах к серверу WHOIS. Зачем вам это нужно?
  • Я - Чтоб в случае конфликта я мог подтвердить с помощью своего паспорта что это действительно мой домен
  • Р - Если это случится, то человек сможет откорректировать контактные данные о владельце домена через панель клиента. И тогда он и будет фактическим владельцем домена. Потому такой сценарий Вам не обыграть никаким образом, и стоит задумываться о безопасности Вашего личного кабинета и паролей.

домен в зоне .io, регистратор https://hostiq.ua

Прав ли регистратор? Как защитится от воровства?

 , ,

abs
()

Подскажите какие «связи» между словами в английском существуют?

Разрабатываю себе словарь, интересует какие связи между словами бывают

Например

1) есть связь между степенями сравнение good -> better -> best
2) есть связь между глаголами do -> did -> done ; doing ?
3) множество или нет ball -> balls
4) род he - she - it
5) comfort -> comfortable 
6) resist -> resistance 
7) see you -> cya, going to -> gonna

Что еще?

[UPD] меня интересуют все связи которые могут быть полезными для изучения. Грубо говоря чтоб я мог за один раз выучивать все похожие по смыслу слова.

Например чтоб когда я перевел слова better мой переводчик мне добавил (Хей, парень, посмотри ка сюда, слова good и best чертовски связаны, не хочешь их выучить заодно? /картинка с Лениным/)

[UPD2] Добавил пункт 5 и 6

[UPD3] chenbr0 подсказал 7 пункт

 , , ,

abs
()

Как chrome(не только) extension общается с сайтом?

Например я как пользователь зарегистрирован на сайте lingoLeo, и пользуюсь lingoLeo chrome extension. В extension есть кнопка «добавить слово» при нажатию на которую это слово появляется на lingualeo.com (даже если этот сайт сейчас у меня не открыт)

Я не понимаю как, я пробую это нагуглить на английском, инфы много, но вся немного не о том. Вот например общение с открытой вкладкой https://stackoverflow.com/questions/11431337/sending-message-to-chrome-extens...

Или вот например https://developer.chrome.com/extensions/cookies Можно получить доступ к кукам любого (?) сайта. Но я не уверен что это хорошее решение.

На данный момент меня интересует только chrome extension, но хотелось бы чтоб в будущем это решение масштабировалось и на другие браузеры

 , ,

abs
()

Список книг свободных для использования (прошло 70(?) лет с даты выхода)

Интересует где найти список книг которые я могу свободно использовать на своем сайте? Интересует оригинал на английском + опционально свободный перевод для нее на русский.

 ,

abs
()

Где взять свободный для коммерческого использования словарь с английского на русский?

Я пробовал гуглить, но кажется я вообще ничего не нашел. Хочу следующее:

1) Где взять хоть какой-то словарь хотя бы на 20К английских слов?
2) Где взять хороший словарь, под хорошим я подразумеваю 
а) хотя бы 40К английских слов
б) есть транскрипция (в идеале еще и разная для американского/английского варианта)
в) есть несколько вариантов перевода на русский с частотой употребления 

P.S. дешевый платный тоже подходит, скажем если я должен единожды заплатить 100 долларов то это ОК.

[UPD] Словарь нужно чтоб использовать его в программе, желательно на фронтенде (js), но в крайнем случае подойдет и любой другой язык (бекенд) к которому я буду обращаться с фронта через API

 ,

abs
()

Подскажите алгоритм поиска скопления чисел с малыми промежутками в отсортированном массиве

Подскажите алгоритм.

Есть массив чисел, по возрастанию со случайными промежутками. Сначала промежутки большие, в какой-то момент будет группа чисел с небольшим промежутком, потом снова большие промежутки.

Мне нужно найти начало и конец скопления.

На примере будет понятнее

[
1,30, 70, 200, 250, /* Это случайные */ , 
401, 403, 410, 415, 425, 426, 430, 434 /* Это скопление */, 
500, 650, 700, 1000 /* Это случайные */
]

Некоторая информация 1) Скопление только одно, промежутки между цифрами в скоплении на уровне 0-10, промежутки не в скоплении могут быть любыми, грубо говоря 0-1000 2) Производительность меня пока что не интересует, потребляемая память тоже. Писаться алгоритм будет на js 3) Идеального результата не надо, я понимаю что алгоритм будет эврестический - это ОК

 

abs
()

[SOLVED] Как в математики называется функция которая не меняет результат если ее вызвать еще раз. f(x) = f(f(x))

Подскажите как в математики (программировании?) называется функция которая не меняет результат если ее вызвать еще раз грубо говоря f(x) = f(f(x)) для любых x

UPD: Идемпотентность https://ru.wikipedia.org/wiki/Идемпотентность

 

abs
()

ffmpeg разбить на сегменты и конвертировать из mp3 в wav (pcm) [Solved]

Пробую вот такую команду

ffmpeg -i HPMoR_Chap_1.mp3 -acodec pcm_s16le -ac 1 -ar 16000 -c copy -map 0 -segment_time 30 -f segment parsed2/output%03d.wav

На сегменты разбивает, но формат остается mp3 (при этом расширение .wav) В чем проблема?

[Solved] Проблема была в -c copy который предположительно говорит ffmpeg не изменять формат файла. Удалив эту часто все заработало как надо!

 

abs
()

Помогите советов ffmpeg + webserver (nodejs(?)) + deepSpeech + firebase

Я хочу сделать следующее: юзер на сайте заливает аудиокнигу (поддержки только mp3 хватит, но если можно быстро получить другие форматы будет круто), она идет на мой сервер (пока что это мой комп), дальше я хочу получить весь текст аудиокниги и время где он встречается в книге. deepSpeech пока что отдает только текст, он не умеет отдавать время. По этому я решил что с помощью ffmpeg разобью аудиокнигу на фрагменты по 10 секунд (я проверил в среднем в книге за 10 секунд 25 слов читается, думаю точность будет хорошая), натравлю на эти фрагменты deepSpeech.

По мере прогресса хочу все это записывать в firebase (чтоб показать лоадер на сайте).

С чем нужна помощь: deepSpeech отдает это вот в таком формате

Loading model from file models/output_graph.pbmm
TensorFlow: v1.11.0-9-g97d851f04e
DeepSpeech: unknown
2018-12-20 23:18:27.384352: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Loaded model in 0.0116s.
Loading language model from files models/lm.binary models/trie
Loaded language model in 8.02s.
Running inference.

// МНЕ НУЖНО ТО ЧТО НИЖЕ

text to be found at fanfictiondotnette or by googling harry potter and the methods of reshnality and there was also a lincoln cluded in this file description i'm not a voice actor but i'll do what i can to make it apparent on there is dialog which in between two characters and with that further ado harry potter and the methods of rationality written by eleae

// МНЕ НУЖНО ТО ЧТО ВЫШЕ

Inference took 12.549s for 20.000s audio file.
нужно это как-то это оттуда достать.

Для ffmpeg нашел вот такую команду для разрезания на куски

ffmpeg -i input.mp4 -c copy -map 0 -segment_time 8 -f segment output%03d.mp4
Норм? Может есть подводные камни?

Также я достаточно мало работал с nodejs, будут какие-то подводные камни с тем чтоб принять файл? Пока я это все тестирую у себя на компе с достаточно малыми файлами (аудио по ~10 минут), но полноценная аудиокнига например занимает 70 часов времени и 4 гига)

 

abs
()

А вы замечали что если быстро пожевать печенье(некоторое?) оно разогревается?

Вот девушка сказала, подумал что дичь какая-то, а потом проверил. Если быстро (и сильно?) пожевать печенье (например мария, либо гриссини) оно становится теплым/слегка горячим (субъективно могу сказать что градусов 38).

Что это, психологический эффект? Просто из-за работы мышц выделяется тепло? Из-за разрушения структуры печенья? Какая-то химическая реакция (растворение углеводов?). экзотермический процесс смачивания?

А может если быстро жевать еда быстро получает температуру тела нам кажется что оно разогрелось?

[UPD] Если это от трения то почему не со всем печенья срабатывает? Что на это влияет?

 , , , ,

abs
()

Аналитики это отстой?

Крик душы просто, я не выкупаю суть вещей.

Я использовал гугл аналитику, сейчас пробую unity аналитику. Беру скажем отсюда пример https://docs.unity3d.com/ScriptReference/Analytics.Analytics.CustomEvent.html

Я добавил два параметра, номер уровня, время прохождения на уровне

Потом захожу на сайт юнити чтоб посмотреть результат - он отдельно показывает эти данные - то есть я вижу скажем что уровни проходятся за 5,10,15 секунд, и были пройдены уровни 1,2,3 - но какой из них за сколько не показывает.

Другой пример от гугл аналитики - у меня в игре было три уровня сложности, я добавил выбор сложности в аналитику.

В результате он мне предлагает посмотреть
а) Сумму всех выборов уровней сложности (WTF??!)
б) Среднее всех выборов уровней сложности (WTF??!)

Но черт возьми, меня же интересует сколько раз был выбран каждый уровень сложности. easy - 16%, medium - 16%, hard - 68%

Еще о проблемах. 1) Огромная задержка, данные появляются через несколько часов 2) Я не вижу что конкретный юзер делает, например если я анализирую время игры на уровне и выбор сложности уровня я хотел бы увидеть что-то типа такого по каждому юзеру

user1
Nov 13, 20:13, Event - PassLevel, params: {levelIndex: 1, time: 13s}
Nov 13, 20:14, Event - SelectLevelComplex, params: {levelIndex:2, complex: hard}

user2
...

Почему аналитики этого не предоставляют? Это считается ненужными данными? Почему никакой связи по юзерам нет, просто отдельный набор ивентов, без какой-либо привязки к юзерам, время он тоже не показывает (только дни)

Собственно мой вопрос.

а) Почему так происходит, я не правильно хочу этим пользоваться
и у меня какие-то хотелки? 
Я реально хочу ПОНЯТЬ создателей этих аналитик

б) Что собственно делать? 
Может есть какие-то другие аналитики которые работают лучше?
Вообще другой подход? 
(Я сейчас говорю про разработку игр, но я так понимаю мой вопрос достаточно общий и на другие сферы)

 , ,

abs
()

mac os x mojave Зависает

Три раза завис (примерно раз в день) - сегодня после зависания я решил подождать - он минут через 5 после зависания перезагрузился. В логах вот такое https://pastebin.com/w7DKxagx

Не уверен что это нужные логи, подскажите куда еще смотреть

iMac 4k, не разбирал - загрузка с внешнего SSD через карман. Карману и ССД несколько месяцев, до обновления работало без проблем.

П.C. Я собственно разбираюсь в маках плохо, не знаю нужно ли мне было обновляться, мне мак нужен чтоб компилировать (unity3d,но не только) под iphone - А прошлый xcode сказал что на новую iOS компилироваться не будет, а прошлая mac os сказала что новый xcode я тоже поставить не могу. Получается следующая цепочка

нужно скомпилировать -> нужен новый xcode -> нужна новая mac os

 ,

abs
()

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