LINUX.ORG.RU

Сообщения smilessss

 

где искать разработчика на разовый проект

например

Ищется разработчик для проброса звука из одного приложения в другое.

где бы вы искали разработчика под разовую задачу?

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

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

я кроме тех форумов пока ничего не придумал

 , , ,

smilessss
()

Ищется разработчик для проброса звука из одного приложения в другое.

Ищется разработчик для проброса звука из одного приложения в другое.

Бюджет определяет разработчик, сроки не ограничены.

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

Подробности, связь — pjsipmediadev@gmail.com

 , , , ,

smilessss
()

падает xfce

кто-то ещё сталкивался?
кликаешь куда-то в угол и имеем это
убунта 23.04
xfce 4.18


(xfce4-power-manager:3362): libxfce4ui-WARNING **: 14:16:54.347: ICE I/O Error

(xfdesktop:3060): libxfce4ui-WARNING **: 14:16:54.347: ICE I/O Error

(xfwm4:2467): libxfce4ui-WARNING **: 14:16:54.347: ICE I/O Error

(xfsettingsd:2697): libxfce4ui-WARNING **: 14:16:54.347: ICE I/O Error

(xfce4-panel:2914): libxfce4ui-WARNING **: 14:16:54.347: ICE I/O Error

(xfce4-terminal:49650): libxfce4ui-WARNING **: 14:16:54.347: ICE I/O Error

(xfdesktop:3060): libxfce4ui-WARNING **: 14:16:54.347: Disconnected from session manager.

(xfwm4:2467): libxfce4ui-WARNING **: 14:16:54.347: Disconnected from session manager.

(xfce4-power-manager:3362): libxfce4ui-WARNING **: 14:16:54.347: Disconnected from session manager.

(xfsettingsd:2697): libxfce4ui-WARNING **: 14:16:54.347: Disconnected from session manager.

(xfce4-panel:2914): libxfce4ui-WARNING **: 14:16:54.347: Disconnected from session manager.

(xfce4-terminal:49650): libxfce4ui-WARNING **: 14:16:54.347: Disconnected from session manager.
[30475:30475:0521/141654.371654:ERROR:connection.cc(46)] X connection error received.

 , ,

smilessss
()

фризается хромиум при закрытии

заметил фризается хромиум при закрытии

во время работы растёт шаред память

забиваются все 32 gb

при закрытии они очищаются
и в этом время всё естественно фризается
кто-то ещё такое наблюдает поведение?

 , , , ,

smilessss
()

корень в ram

есть ноут с 32gb ram

а корень у меня меньше 10 гиг

есть идея весь корень при запуске грузить в ram

зачем? возможно будет шустрее

кто-то пробовал так делать?
какие подводные камни?
профит ощущается в сравнении с nvme ssd?

 , , , ,

smilessss
()

добавить корректное завершение webrtc тредов в с++ приложении

Добрый

Задача - добавить корректное завершение webrtc тредов в с++ приложении.

Сроки - неограничены.

Бюджет - 200$

Есть пример из готового опенсорсного проекта как это может выглядеть.

Сорцы - с++ \ там нужно понимание работы webrtc или дебагером искать что создаёт треды и придумать как их корректно завершать.

Если у кого возникнет желание попробовать прикрутить любой велосипед который может сработать - @webrtc_project - telegram

 , , , ,

smilessss
()

корректное завершение многотредовых с++ приложений?

какой лучший способ внезапно прервать приложение

так, чтобы вызывались все деструкторы и все треды килялись

я пробовал элементарное exit(1)

но оно вроде не вызывает никакие деструкторы, что не есть гуд

хочется что-то более правильное

может в std:: что-то такое есть

 , , , ,

smilessss
()

на чём вы тестируете приложения под apple ios?

возникла необходимость потестить работу приложения ios

ios я так понял на виртуалке не запустишь

как вы решаете вопрос

покупать девайс ради теста смысла нет


Перемещено hobbit из general

 , , ,

smilessss
()

snapcraft дикий велосипед

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

и что мы видим

брём сорцы снапа, патчим делаем

snapcraft

и получаем

The 'snap' directory is meant specifically for snapcraft, but it contains the following non-snapcraft-related paths, which is unsupported and will cause unexpected behavior:
- command-chain
- command-chain/desktop-launch
- command-chain/hooks-configure-desktop
- command-chain/snapcraft-runner
- manifest.yaml

If you must store these files within the 'snap' directory, move them to 'snap/local', which is ignored by snapcraft.
Failed to pull source: unable to determine source type of 'build'.
Check that the URL is correct or consider specifying `source-type` for this part. See `snapcraft help sources` for more information.
Run the same command again with --debug to shell into the environment if you wish to introspect this failure.


после небольшогу гулления натыкаемся на
indeed due to strict confinement we can only currently support mounts under /home. We’re working on relaxing this requirement, but in the mean time you can bind-mount (symlinking won’t be enough) your workspace to $HOME and that should work fine.


и действительно переместим сорцы в home получается пройти немного дальше но всё равно появляются те же самые грабли позже

доколе? как они умудрились так всё сделать? кто это всё придумал?

 , ,

smilessss
()

хромиум и av1 и юбут в 8k

кому-то удалось добиться нормальной работы 8k видео на ютубе?

кому-то удалось завести ютубчки в 8к на линуксе в браузезере?

в mpv и винде работает =(

там для 8k уже av1 а не vp9 а он не хочет у меня показываться

если пускать без --disable-features=UseChromeOSDirectVideoDecoder
т.е. еспользовать хром ос декодер - тогда поддержка av1 есть и работает

но там какие-то непонятные артефакты - на 480p и всём, что выше 720p - артефакты и как будто цвета другие на 4k вообще декодирование отваливается, у меня такое чувство что там что-то перепутано

железо - бояркий 11 ген интел который всё может

      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointFEI
      VAProfileHEVCMain               :	VAEntrypointEncSliceLP
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointEncSliceLP
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile1            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileVP9Profile3            :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointEncSlice
      VAProfileHEVCMain422_10         :	VAEntrypointVLD
      VAProfileHEVCMain422_10         :	VAEntrypointEncSlice
      VAProfileHEVCMain422_12         :	VAEntrypointVLD
      VAProfileHEVCMain422_12         :	VAEntrypointEncSlice
      VAProfileHEVCMain444            :	VAEntrypointVLD
      VAProfileHEVCMain444            :	VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10         :	VAEntrypointVLD
      VAProfileHEVCMain444_10         :	VAEntrypointEncSliceLP
      VAProfileHEVCMain444_12         :	VAEntrypointVLD
      VAProfileHEVCSccMain            :	VAEntrypointVLD
      VAProfileHEVCSccMain            :	VAEntrypointEncSliceLP
      VAProfileHEVCSccMain10          :	VAEntrypointVLD
      VAProfileHEVCSccMain10          :	VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444         :	VAEntrypointVLD
      VAProfileHEVCSccMain444         :	VAEntrypointEncSliceLP
      VAProfileAV1Profile0            :	VAEntrypointVLD
      VAProfileHEVCSccMain444_10      :	VAEntrypointVLD
      VAProfileHEVCSccMain444_10      :	VAEntrypointEncSliceLP



Video Acceleration Information
Decoding
Decode h264 baseline
16x16 to 4096x4096 pixels
Decode h264 main
16x16 to 4096x4096 pixels
Decode h264 high
16x16 to 4096x4096 pixels
Decode vp8
16x16 to 4096x4096 pixels
Decode vp9 profile0
16x16 to 16384x16384 pixels


chromium %U --disk-cache-size=1 --media-cache-size=1 --password-store=basic --enable-accelerated-mjpeg-decode --use-gl=desktop --disable-gpu-driver-bug-workarounds  --disable-features=UseChromeOSDirectVideoDecoder --enable-features=ChromeOSHWAV1Decoder,PlatformHEVCDecoderSupport,VaapiVideoEncoder,VaapiVideoDecoder,CanvasOopRasterization,PreferGLImageProcessor,UseAlternateVideoDecoderImplementation,VaapiLowPowerEncoderGen9x,VaapiVideoDecodeLinuxGL,VaapiIgnoreDriverChecks --disable-gpu-sandbox


Video Acceleration Information
Decoding
Decode h264 baseline
16x16 to 4096x4096 pixels
Decode h264 main
16x16 to 4096x4096 pixels
Decode h264 high
16x16 to 4096x4096 pixels
Decode vp8
16x16 to 4096x4096 pixels
Decode vp9 profile0
16x16 to 16384x16384 pixels
Decode vp9 profile2
16x16 to 16384x16384 pixels
Decode hevc main
16x16 to 16384x16384 pixels
Decode hevc main 10
16x16 to 16384x16384 pixels
Decode hevc main still-picture
16x16 to 16384x16384 pixels
Decode av1 profile main
16x16 to 16384x16384 pixels

 , , ,

smilessss
()

докер dokcer containerd - запуск на фиксированом порту

netstat -tlpn 

tcp        0      0 127.0.0.1:64123         0.0.0.0:*               LISTEN      619/containerd      




как заставить его запускаться не на рандомном порту?)

у меня там docker-compose

и

network_mode: host

там нет никакого указания портов

 , , , ,

smilessss
()

как оптимизировать с++ код, чтобы 7000 бинарников не выедали всё cpu

https://imgur.com/RcrmzW0.png

https://imgur.com/Z4wdNBA.png

Код простой, в простое опрашивает ивенты, больше ничего не происходит.

- запускаю 1000-3000 бинарников - всё ок
- на 7000 бинарников - картина на скрине

Возможно у кого-то есть какие-то идеи куда смотреть и почему так просходит? откуда это ограничение в 7000

код очереди

std::optional<T> pop() {
        std::unique_lock<std::mutex> lock(this->mutex);

        if (q.empty()) {
            return std::nullopt;
        }

        std::optional<T> value = std::move(this->q.front());
        this->q.pop();

        return value;
    };


код опроса инвентов (он и генерит лоад)
while (true) {
        auto tick_start = std::chrono::steady_clock::now();

        if (auto event = internal_events_.pop(); event) {
            std::visit([this](auto &&casted_event) {
                process_event(casted_event);
            }, event.value());
        }

        if (auto event = my_events_.pop(); event) {
            using namespace td::td_api;
            auto &&object = event.value();
            switch (object->get_id()) {
                case updateMyActivity::ID:
                    process_event(move_object_as<updateMyActivity>(object));
                    break;
                case updateMyActivity2::ID:
                    process_event(move_object_as<updateMyActivity2>(object));
                    break;
                default:
                    break;
            }
        }

        if (auto event = my_q_events_.pop(); event) {
            std::visit([this](auto &&casted_event) {
                process_event(casted_event);
            }, event.value());
        }

        auto tick_end = std::chrono::steady_clock::now();
        auto duration = tick_end - tick_start;
        auto sleep_time = std::chrono::milliseconds(10) - duration;
        if (sleep_time.count() > 0) {
            std::this_thread::sleep_for(sleep_time);
        }
    }

 , , , ,

smilessss
()

gui - сделать выводы из текстовых логов

Есть ли что-то простое и красивое чтобы парсить множество одинаковых текстовых логов вида

461ea1a0-8e73-40e3-b676-1453105c3bd8 Thu Sep  1 15:25:29 2022   some text
460abaa5-3dd5-48ad-8489-e1ee29306bed Thu Sep  1 15:29:10 2022   some text
0aa4ed1a-7b88-40a8-a74d-43c5be59dac1 Thu Sep  1 16:18:10 2022   some text


хочется какие-то графики, фильтры по датам, содержимому html может простой, графики по днят, статка какая-то

 , , ,

smilessss
()

как прибить webrtc треды при этом сохранив главный процесс?

Есть слинкованый статично бинарник.
В нём есть разные вещи, есть webrtc.

В какой-то момент вызывается вещи из вебрст, которые после работы мне нужно завершать.
Делать это из кода я не научился ибо не разработчик.


Возможно как-то можно килять отдельные треды у процесса?
Так, чтобы процесс при этом выжил и продолжил делать свои дела?


пробовал делать цепляться через gdb и делать
в gdb оно выглядит так

может у кого-то ещё есть идеи как прибить эти треды вебрст?)

thread apply 10 call (int) pthread_cancel(pthread_self())



 PID   SPID TTY          TIME CMD
345146 345146 pts/0    00:00:00 main
345146 345147 pts/0    00:00:00 main
345146 345148 pts/0    00:00:00 main
345146 345149 pts/0    00:00:00 main
345146 345178 pts/0    00:00:00 main
345146 345179 pts/0    00:00:00 main
345146 345180 pts/0    00:00:00 main
345146 345181 pts/0    00:00:00 main
345146 345182 pts/0    00:00:00 client
345146 345426 pts/0    00:00:00 WebRTC-Manager
345146 345427 pts/0    00:00:00 media
345146 345428 pts/0    00:00:00 work
345146 345429 pts/0    00:00:00 main
345146 345430 pts/0    00:00:00 rtc-low-prio
345146 345431 pts/0    00:00:00 TaskQueuePacedS
345146 345432 pts/0    00:00:00 rtp_send_contro
345146 345433 pts/0    00:00:00 ModuleProcessTh
345146 345434 pts/0    00:00:00 AudioEncoder
345146 345447 pts/0    00:00:00 DecodingQueue
345146 345448 pts/0    00:00:00 IncomingVideoSt



		
Id			
Id				
1	"main"			clock_nanosleep () from /lib/x86_64-linux-gnu/libc.so.6
2	"main"			clock_nanosleep () from /lib/x86_64-linux-gnu/libc.so.6
3	"main"			do_futex_wait.constprop () from /lib/x86_64-linux-gnu/libpthread.so.0
4	"main"			select () from /lib/x86_64-linux-gnu/libc.so.6
5	"main"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
6	"main"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
7	"main"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
8	"main"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
9	"client"			poll () from /lib/x86_64-linux-gnu/libc.so.6
10	"WebRTC-Manager"			pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
11	"media"			pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
12	"work"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
13	"rtc-low-prio"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
14	"TaskQueuePacedS"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
15	"rtp_send_contro"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
16	"ModuleProcessTh"			pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
17	"AudioEncoder"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
18	"DecodingQueue"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
19	"IncomingVideoSt"			epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
		

 , , , ,

smilessss
()

может сделаем больше 5 звёзд

зачем ограничиваться пятью
если скор 1000 - значит их должно быть 10
по 1 за каждые 100 скора
думаю правки в сорцы не сложно внести
если я внесу - примут ли их
что думаете

 , , , ,

smilessss
()

Как проксировать бинарник в linux извне средствами самой ос?

Возможно ли это?

Есть условный мой софт, который запускается на хосте.
Он не умеет внутри работать с прокси, но мне очень хочется.
Как пустить весь его трафик через socks5 прокси?

Возможно ли как-то где-то в ос задать настройки вида

/home/vasya/my_binary   - это проксикровать через 8.8.8.8:1234

/home/vasya/my_binary_2   - это проксикровать через 9.9.9.9:1234


Чувствую что это возможно, пока не понял как(

 , , , ,

smilessss
()

2010$ - PJSIP - tgcalls c++

Проект — закрыт*

Библиотека — https://github.com/TelegramMessenger/tgcalls

Пример сборки и реализации звонков на tgcalls — https://github.com/telegramdesktop/tdesktop/tree/dev/Telegram/SourceFiles/calls

Задача — переделать проект на этой библиотеке, если вкратце — нужна интеграция проброса звука pjsip tgcalls

От 2000$ — связь, подробности — вопрос снят*

*исправлено

 , , , ,

smilessss
()

что сколько должно стоить?

как вы считаете как можно адекватно оценивать что сколько может стоить доработать \ разработать \ написать?

 , , ,

smilessss
()

как верно организовывается международный сбор средств на open source проект?

Добрый день
подскажите как верно организовывается международный сбор средств на open source проект?
Какие сейчас лучшие площадки для этого?

Есть прекрасный open source проект, который нуждается в допиле и есть множество людей, готовые вложить разные деньги, но нет чёткой организации и всё это пока остаётся на уровне чатов и обсуждение в issue.

Как бы вы организовали сбор средств, как это всё дело продвигать, рассказывать, интересоваться нужно оно кому и кто готов поддержать?


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

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

если денег не собрали до дедлайна - все всем вернется

не поверю что до этого никто еще не додумался

 , , , ,

smilessss
()

2000$ - PJSIP - переделка проекта на tgcalls (c++)

Добрый день.


Проект — закрыт*

Библиотека, на которую необходимо переделать — https://github.com/TelegramMessenger/tgcalls

Пример сборки и реализации звонков на tgcalls — https://github.com/telegramdesktop/tdesktop/tree/dev/Telegram/SourceFiles/calls

Задача — переделать проект на этой библиотеке, нужна интеграция проброса звука pjsip <> tgcalls

Бюджет от 2010$. Связь, подробности — вопрос снят*

Текущая реализация использует устаревшую модифицированую libtgvoip.

*исправлено

 , , , ,

smilessss
()

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