Форум сайта python.su
Здравствуйте, нужна помощь в написании программы и разъяснении некоторых моментов связанных с Питоном. Некоторый опыт у меня есть, с питоном познакомился совсем недавно и работать с ним понравилось. Сейчас делаю ПО для общения в сети, возникают затыки на которые не могу найти ответов. Например как использовать библиотеки если они под другую версию питона, как собирать проекты для запуска на другой машине, другой ОС, как делать “быстрые” вставки для ускорения работы приложения.
Вообщем нужен опытный наставник с опытом в сетевом и системном программировании, для помощи в написании программы, помощи по конкретным вопросам и повышении моего уровня в питоне.
Вопросы, работа со звуком, сжатие кодеками spee opus и.т.п. защита информации, аутинтификация и ширование, сетевые библиотеки типа twisted, кросс-платформенные решения. Возмездная помощь рассматривается. Понятно что иногда легче самому сделать чем кого то научить, но мне интересно разобраться в этом всем.
Отредактировано igboev (Янв. 8, 2019 21:56:38)
Офлайн
предлагаю вам для начала отказаться от всего и сразу и перейти на модульный вид.
Думать о том как это запустить и собрать под другую платформу - нужно тогда, когда проект уже будет готов. Вы за неделю всеравно его не напишите, а кому времени забудете что читали.
Другими словами решайте проблемы по мере их поступления и развития вашего проекта.
Использование библиотек под разные версии питона гуглится например за 5 минут. тут вам наставник не нужен. И единого рецепта нет. зачастую приходится переписывать самому. Либо писать свое если такой библиотеки под вашу версию питона нет используя ту что есть как шаблон для полета мысли.
Быстрые вставки - ?
дальше идет перечень всего что вам опять же нужно изучить. Это чтения большого обьема книг, статей и форумов. Опять же всему свое время. Сомневаюсь что вы пишите одновременно код для звука и сообщений. Начните с сообщений. Сделаете их = перейдете на ступень выше и опыта уже будет побольше.
Даже если найдется альтруист который сядет вам вбивать знания в голову вы их всеравно не усвоите так как это непонятный поток информации.
Ну и к сожалению - уровень такого программиста катируется солидным басовым эквивалентом. И скорее всего у него своих задач вагон и 100500 тележек. Потому 99 процентов что объяснять вам то что можно найти в свободном доступе в сети он не будет.
Так что разбейте задачу на этапы. Начните их выполнять и пишите свои вопросы когда не можете решить тот или иной шаг.
Офлайн
ZerGСпасибо за рекомендации, с большинством я огласен и даже так и поступил, сначала сделал чат для сообщений, когда он заработал, начал делать для звука, звук тоже заработал, начал думать как сжать звук здесь застрял на том что кодек Speex не ставится в питон2.7 поиски в гугле мало чего полезного дали, решил подвесить задачку и попробовал шифровать звук, тут опять с сообщениями все работает со звуком не очень примеров такого шифрования потока чет не нашел. Ну вот пошел на форум искать помощи. Кстати если фраза про базовые единицы была завуалированным предложением, то ко мне лучше прямо с такими предложениями. Вот конкретные вопросы если угодно, чем и как лучше сжать звук с микрофона не создавая серьезных задержек. Или как зашифровать звуковой поток и расшифровать и прослушать его со стороны сервера? На счет уровня программиста и задач 100500, это ведь у кого как, программисты часто народ свободолюбивый и ценят эту свободу выше денег, поэтому предпочитают свободно жить получая меньше, чем таскаться на работу к шефу с 9 до 18 и получать больше, не все конечно но точно многие.
предлагаю вам для начала отказаться от всего и сразу и перейти на модульный вид. Думать о том как это запустить и собрать под другую платформу - нужно тогда, когда проект уже будет готов. Вы за неделю всеравно его не напишите, а кому времени забудете что читали. Другими словами решайте проблемы по мере их поступления и развития вашего проекта. Использование библиотек под разные версии питона гуглится например за 5 минут. тут вам наставник не нужен. И единого рецепта нет. зачастую приходится переписывать самому. Либо писать свое если такой библиотеки под вашу версию питона нет используя ту что есть как шаблон для полета мысли. Быстрые вставки - ?дальше идет перечень всего что вам опять же нужно изучить. Это чтения большого обьема книг, статей и форумов. Опять же всему свое время. Сомневаюсь что вы пишите одновременно код для звука и сообщений. Начните с сообщений. Сделаете их = перейдете на ступень выше и опыта уже будет побольше. Даже если найдется альтруист который сядет вам вбивать знания в голову вы их всеравно не усвоите так как это непонятный поток информации. Ну и к сожалению - уровень такого программиста катируется солидным басовым эквивалентом. И скорее всего у него своих задач вагон и 100500 тележек. Потому 99 процентов что объяснять вам то что можно найти в свободном доступе в сети он не будет. Так что разбейте задачу на этапы. Начните их выполнять и пишите свои вопросы когда не можете решить тот или иной шаг.
Отредактировано igboev (Янв. 4, 2019 17:23:50)
Офлайн
igboevну учитывая что у вас питон2.7 попробуйте https://pypi.org/project/ffmpy/ оно вроде как работает под 2.7
Вот конкретные вопросы если угодно, чем и как лучше сжать звук с микрофона не создавая серьезных задержек. Или как зашифровать звуковой поток и расшифровать и прослушать его со стороны сервера?
[code python][/code]
Отредактировано PEHDOM (Янв. 4, 2019 23:43:41)
Офлайн
PEHDOMСпасибо за направление, почитал про ffmpy но не нашел графика битрэйт\качество. Как выставлять степень сжатия?
Офлайн
igboevчтото мне подсказывает что данные нужно жать еще при создании
# гдето здесь нужно сжать данные, хотя жать может нужно еще при создании потока???
igboevну както так,
Как выставлять степень сжатия?
если не сложно покажите пример кодирования и декодирования, ниже мои функции отправки и получения блока данных
import subprocess from ffmpy import FFmpeg ..... ff = FFmpeg( inputs={'pipe:0': None}, # тут по идее задаеться что у нас на входе, формат, битрейт и тд...данные читаем из STDIN outputs={'pipe:1': '-ar 8000 -f alsa -acodec mp2 -b:a 128k'} # тут задаем что у нас на выходе, степень сжания, битрейт, формат и тд...данные пишем в STDOUT за правильность аргументов не ручаюсь , но вобщем" -ar 8000" это семплрейт а "-b:a 128k" битрейт.. ) stdout, stderr = ff.run(input_data=send_stream.read(), stdout=subprocess.PIPE) # тут указываем что на вход подаем ваш поток а то что FFmpeg будет кидать в STDOUT перенаправляем используя subprocess.PIPE в stdout (это имя переменной) ..... data = stdout.read(LCHANK) # а тут уже создаем блок данных для отправки, считываем из stdout в котором данные уже пережаты FFmpeg-ом
[code python][/code]
Офлайн