Information
- Rating
- 5,255-th
- Location
- Amsterdam, Noord-Holland, Нидерланды
- Registered
- Activity
Specialization
Backend Developer, Data Engineer
Lead
Java
C++
Python
SQL
Data Analysis
Algorithms and data structures
Distributed calculations
High-loaded systems
Financial analytics
Да, я тоже пробовал аналогично корректировать рассинхрон, но такой линейный подход работал не всегда. В конце концов выяснил, что рассинхрон вызывали две независимые причины: (1) разные частоты аудио и видео; (2) дропы кадров, когда видеопоток прерывался
И если с (1) линейная подгонка работала хорошо, то с (2) вообще никак не помогала.
Я как-то лет 10 назад, когда учился в универе, занялся оцифровкой домашнего архива VHS
Денег у студентов конечно же нет, поэтому был выбран бюджетный вариант: куплена самая стандартная карта захвата (вроде бы от beholder), использовался её же софт для захвата видео (без компрессии), VHS магнитофон взят из дома (panasonic из 90х)
Самой большой проблемой была десинхронизация аудио и видео при захвате, получилось её побороть захватом в
ASF
контейнер, который сохраняет синхронизацию за счет поддержки variable frame rateVFR
(метод был прочитан на каком-то форуме). ПотомVFR
ASF
перегонялся вCFR
AVI
(25 кадров в секунду) черезmencoder
.Минимальная обработка (убрать шумы, обрезать мусор по краям и т д) делалась через
avisynth
. Цель: убрать неразличимые глазом шумы, чтобы снизить размер сжатого файла, минимально улучшить картинку.Деинтерлейсинг я в итоге не стал делать, так как ни один доступный мне тогда деинтерлейсер не показал достойное качество, все мазали картинку. Решено было сохранить оригинальную чересстрочную картинку. Её было комфортно и так смотреть, а при необходимости деинтерлейсинг всегда можно включить непосредственно в плеере
Конечный результат кодировался в
x264
и сохранялся вMKV
. Аудио тривиально кодировалось из несжатогоCFR
AVI
вm4a
используяffmpeg
и тоже добавлялось вMKV
Весь пайплайн был автоматизирован скриптом и выглядел как-то так: VFR ASF -> mencoder -> CFR AVI -> avisynth -> x264 -> MKV.
Запись одной кассеты занимала часа 3, последующая конвертация еще часов 10. Можно было параллелить это и одновременно записывать на одном компе и конвертировать на другом. Исходный несжатый
ASF
файл для трехчасовой кассеты занимал 90GB, финальныйMKV
4-7 GB. Качество получалось идентично тому, что видно на экране в лайве, артефакты компрессии глазу не видны совсем.Получился в итоге довольно интересный студенческий проект на лето, было интересно поэкспериментировать с технологиями видеозаписи и видеокомпрессии.
Вот да, на ревью таких коллег сразу начинаешь тратить слишком много времени, и отношение закономерно портится
Ещё ии очень любит всякие классические алгоритмы имплементировать полностью, хоть для них и есть готовые решения в библиотеках (так как ии обучался на leetcode/codeforces, а код там и код в проде – разные вещи). Теперь отдельное "удовольствие" во время ревью – это искать нужнуе библиотечные функции для замены кучи сгенеренного кода
Да, если нужен шеринг паролей с другими пользователяси и контроль доступов, то такое решение выглядит действительно оправданным
А в чем преимущества этого решения по сравнению о обычным локальным зашифрованным хранилищем паролей? (тот же опенсорсный KeePassXC хранит пароли в локальном kdbx файле)
Синхронизировать можно руками или через облака. Если хочется доп безопасности при синхронизации через облака, то можно файл "портить" перед загрузкой в облако или разделять на части по разным облачным провайдерам, для этого вроде тоже есть около стандартные решения
Учитывая капитал Сергея Брина, для него нанять домохозяйку на фуллтайм значительно дешевле, чем обычному человеку купить стакан кофе
Последний график с изменением ожидаемой продолжительности жизни за последние 250 лет очень красивый. Но он показывает продолжительность жизни с момента рождения (live expectancy at birth). Насколько мне известно, детская смертность была очень высокой вплоть до 20-го века и сильно занижала общую продолжительность жизни (что мы и видим на этом графике).
Есть ли где-то аналогичный график, но про ожидаемую продолжительность жизни начиная с 15, 20, 30 лет? Я сходу не смог найти
Похожим образом также обходится фича, когда отправитель запрещает скачивать/пересылать файл
То есть файл ты видишь, но скачать не можешь, скриншоты телега тоже в этот момент отключает.
Но в момент отображения файл сохраняется в локальное хранилище/кэш
.../Android/data/org.telegram.messenger/files/...
и его потом можно оттуда скачать, даже рут не нуженПо сути эти фракталы на графике говорят нам о необычности распределения разностей между нулями Зета функции
Можно почитать разные научные статьи, которые исследуют это, скорее всего где-то там найдётся ответ.
Например, работа 1987-го года "On the Distribution of Spacings Between Zeros of the Zeta Function" by A. M. Odlyzko [pdf] исследует это распределение (но несколько другими методами) и связывает аномалии с распределением простых чисел: