Pull to refresh

Comments 20

Только я хотел под предыдущей публикацией написать, что в списке хабов не хватает «Ненормального программирования», как автор уже тут с новой публикацией!

Кстати, а публикации на английском про этот видеотелефон есть?

Да, есть на Reddit где встретили довольно тепло и есть на некоторых других ресурсах, где пост прошел не замеченым.

UFO landed and left these words here
UFO landed and left these words here

Там же в конце статьи про них два раза написано, или автор потом уже добавил?

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

А ключ "минус РКН" есть? Ну, они же вот не любят, когда люди по работе на серверы по КВН ходят, или созваниваются не через российский частный мессенджер с названием на латинице...

Честно говоря отсылки не понял... все протоколы и кодеки (кроме видео кодека) это зрелые открытые технологии.

Тоннель ygg выбран как отличное решение для отказа от stun серверов, в отличое от WebRTC и других подобных решений, плюс я из коробки получил гарантированное восстановления связи при обрыве, а это меньше кода и логики внутри.

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

Ну и вес выходной получился бы сложнее, плюс в go пришлось бы тащить кучу сишного хлама, каких то зависимостей и прочего прочего... размер утилиты вырос бы до 500 Мб примерно, а сложность сборки проекта улетела бы в космос.

Сейчас утилита в районе 10 Мб, и собирается без каких либо проблем под любую ОС, хоть под винду, хоть под фряху. Едиснтвенное под что я ее еще не портировал это plan9. И экзотика типа QNX, Haiku и т.д.. Причем сейчас это выглядит как весьма легкое занятие, в отличии от реализации на WebRTC, сертификатах и т.д.

а, отсылку понял и нет, это не может использоваться для обхода кзкиа либо ограничений РКН, во первых это не законно, во вторых это не поможет, белые списки это белые списки 😁

ygg не поможет заниматься обходами ограничений, но поможет с проблемами NAT и как я написал ниже со всем сишным стеком который бы тянулся в либу

Добавил в статью целый абзац... просто на всякий случай, во избежание недопониманий

Я уже думал, на счет этого, но, есть несколько нерешенных проблем,

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

2. нужно подумать делать просто звонки, или звонки с видео, если просто звонки, то тут вообще все просто, а вот если с видео, то нужно будет добавить другой кодек. Возможно прямо на стороне приложения, т.е. статическая либа будет транспортом, для передачи кодека… и если мы идем вторым путем, но можно будет использовать не g722 а что то пободрее, наприемр codec2 или opus или еще что то для звука, и какой то hevc для видео и в таком случае потеряется обратная совместимость с оригинальной утилитой

3. для добавления контакта нужно передать адрес френда, а адрес можно передать только как то отдельно, сообщением например или контактом (этот момент тоже надо продумать)

UFO landed and left these words here

я хочу попробовать линукс телефон, меня немного достали ограничения Android/iOS 😁

Упс, а где иллюстрации?
Первоначально, помимо модницы в бирюзовом, было ещё 3 монохромных мужика в статье.

Всего у нас есть три компоненты Y Cb и Br

У меня по YCbBr ничего не гуглится, всюду YCbCr. Это опечатка или тайные технологии древних?

В этом режиме терминал принимает JPEG или PNG, упакованные в base64, сам их декодирует и отрисовывает как обычное изображение.

JPEG/PNG, я так понимаю, генерирует сама утилита, а передаётся всё по-прежнему в BABE-T, но с большим разрешением?

Я тут порассматривал артефакты сжатия и они мне напомнили эффект «Oil painting» из графических редакторов. Кодек делался с учётом существующих алгоритмов для этого эффекта или переизобретался полностью с нуля?

P.S. Попутно с рассматриванием артефактов с удивлением узнал, что FFMPEG умеет генерировать анимированные WEBP, но до сих пор не умеет их читать. Багу уже 10 лет.

Смотри, картинки были конвертированы в webp, вес большой я убрал... оставил только одну тяжелую картинку.
Опечатку поправил, спасибо Y, Cb, Cr конечно же 😁
Утилита работает на базе ffmpeg, она отдает nut, который дальше уже конвертируется в jpg/png + base64, если мы рендерим с ключом -super
Если рендер обычнтый, то рендерим в глифы и выводим через tcell
Историю создания кодека можно почитать в статье https://habr.com/ru/articles/973868/, а oil painting возникает за счет того что технология вывода на экран не позволит выдать что т олучше чем сейчас
Да webp почему то не читает 😁 но создает 100%

Интересная идея. А есть ли video sink плагин для GStreamer в терминал c тем же принципом работы? Было бы полезно.

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

Sign up to leave a comment.

Articles