Тема: Аудио/Видео смс (Общение/Свободное общение) DoR (11 May 2021 в 20:04) Немного снимков...)) Behruz92 (12 May 2021 в 20:27) Скрин ест модул нет:) DoR (13 May 2021 в 08:26) Behruz92, Согласен, не порядок. Предлагаю такое решение...)) https://dcms-social.ru/forum/14/50/63300/ Saint (15 May 2021 в 11:26) С айфонами тоже нормально всё? DoR (15 May 2021 в 11:29) --Цитата-- Saint (15 May 2021 в 11:26): С айфонами тоже нормально всё? ---------- Saint, Не знаю... Тестил только с пк и ноута...)) Saint (16 May 2021 в 09:44) DoR, Вообщем то с айфонами болячка, я вроде видел на хабре что были какие-то решения . если не работает на афйонах лучше сразу скрывать . у меня заказывали чинить модуль под айфоны , может под твой может под другой модуль . DoR (16 May 2021 в 16:14) Saint, Ну да, смотри... В основе модуля лежит MediaRecorder() который в свою очередь является конструктором интерфейса MediaStream() --- Подсмотреть поддержку можно ( внизу ): https://developer.mozilla.org/en-US/docs/Web/API/MediaStream Или в случае чего, например ( кодеки тоже желательно... ): let types = [\"video/webm\", \"audio/webm\", \"video/webm;codecs=vp8\", \"video/webm;codecs=daala\", \"video/webm;codecs=h264\", \"audio/webm;codecs=opus\", \"video/mpeg\"]; for ( let i in types ) { console.log( \"Is \" + types[i] + \" supported? \" + ( MediaRecorder.isTypeSupported( types[i] ) ? \"Ok\" : \"No\") ); --- Выбрать и проверить саму поддержку MediaRecorder() const options = { mimeType: \"video/webm;codecs=vp8\" }; if ( !MediaRecorder.isTypeSupported ( options.mimeType ) ) { /** Тут собственно либо полифил, либо отдаём ошибку... */ } А вообще да, теория и практика спорят... Поэтому и упредил - по тесту не гонял. Да и лень и дедлайн, вообщем всё и сразу...)) -MiSHuTkA- (5 Jun 2021 в 22:27) Ерунда это все нада преоброзовывать звук на лету в кодировку в data:audio/wav;base64,\"+base64 и в базу данных его вносить чтоб поток был пустым и файлы на сервере не лежали звуковые DoR (6 Jun 2021 в 04:17) -MiSHuTkA-, Ага... То есть в буфер а из него уже в базу данных? --- А где же база данных хранит свои данные если не в файловой системе? ( в базу, она в файловую систему и это всё что бы что? ) А что для вывода проще: 1) Считать стрим из базы, создать временный файл, записать в него стрим. 2) Или просто считать из файловой системы? А как намерены кэшировать не статические файлы? Уже не говорю о том что LOAD_FILE( по дефолту отключена, почему? ) может дать хакеру поюзать файловую систему и не только.... Мои нижайшие если с критикой переборщил...)) -MiSHuTkA- (6 Jun 2021 в 12:47) DoR, Вот скрипт готовый голосовых сообщений https://ruseller.com/lessons.php?id=2278&rub=32 но чето нето пошло -какбы включился но не то -буду доробатывать гдето ошибся та сам поймеш как написано неподробно -MiSHuTkA- (6 Jun 2021 в 13:03) DoR, вот это PHP-VoiceChat реально реализовать https://github.com/ROMTypo/PHP-VoiceChat можно сматри как там идет постоянный поток в один файл он перезаписуется и стерается тоесть сказал потом сказал то стерлось вот и нада отправить его в базу данных ниже прочти сообщение поймеш принцип ! Какие у тебя есть предлажения? Я реализовал именно на PHP-VoiceChat и кстати вывел в почте в окне поток виден когда говариш даже ненада писать там BB коды всякие потом вставить его через плеер там WAW вормат -только нада декодирование придумать еще DoR (6 Jun 2021 в 16:17) -MiSHuTkA-, Конечно реально... --- А что вы подразумеваете под - постоянный поток? Алгоритм использования вами file_get_contents( ) и file_put_contents( ) этого не делает, обновление раз в секунду, говорит о переподключении раз в секунду...)) А что бы да, необходим бесконечный цикл, что то вроде этого: while ( true ) { // --- Тут \"что то\" } То есть демон, и опыт работы с процессами, но это такое... Лучше уже сокеты. ( кстати, в коде у вас уязвимость ) $active=$_POST[\'data\']; file_put_contents(\"vc.txt\",$active); https://github.com/ROMTypo/PHP-VoiceChat/blob/master/api/audio.php Как понимаю вы желаете голосовой чат? Если да, то рекомендую смотреть в сторону WebRTC, либо её оболочки - PeerJs https://peerjs.com которая предоставляет не только одноранговые соединения, сигнальный сервер, но и простая как дверь. --- Для ознакомления вещь годная... А вот идея удаления старого файла мне понравилась, молодец...)) -MiSHuTkA- (6 Jun 2021 в 19:33) DoR, Да раньше не сталкивался с этим! Посматри что нашел там пояснения изложены хорошо и по примерам отравками код описывается и в конце код целиком -внимательно прочти -пойду тестить https://habr.com/ru/post/468705/ спасибо за информацию ! DoR (6 Jun 2021 в 20:35) -MiSHuTkA-, Рад быть полезным. --- Но должен предупредить... PeerJS называют \"ловушка для туриста\" почему? Потому что это чужое и не всегда работает и работает так как вам надо. И когда вы PeerJS освоите, то пожелаете стабильности и большего, а значит задумаетесь о WebRTC. Внимания в ПГ и всего вам доброго...)) P.S Задавать вопросы можете в ТГ группе PeerJS https://t.me/joinchat/VWI0UBxnG7f7_DV7 -MiSHuTkA- (7 Jun 2021 в 03:14) DoR, Нашел готовое решение-работает осталось только все наладить по свойму скачивать не получилось врусную скопировал там не долго https://github.com/muaz-khan/WebRTC-Experiment/tree/master/RecordRTC/RecordRTC-to-PHP Буду тестировать инфы тьма только и читай да проверяй! DoR (7 Jun 2021 в 20:07) -MiSHuTkA-, Ага, просмотрел... --- Вот так header(\"Access-Control-Allow-Origin: *\") делать не желательно: https://github.com/muaz-khan/WebRTC-Experiment/blob/master/RecordRTC/RecordRTC-to-PHP/delete.php Что бы не тратиться на пояснения, статья: https://habr.com/ru/company/owasp/blog/337146/ А это значит: стоит проверять. О чём собственно и говорит код ниже: --- Дописываем к имени файла существующую директорию, например: $_POST[\'delete-file\'] = \'/upDir/namefile.ogg\'; $fileName = $_POST[\'delete-file\']; $filePath = \'uploads/\' . $fileName; $allowed = array( \'webm\', \'wav\', \'mp4\', \"mkv\", \'mp3\', \'ogg\' ); $extension = pathinfo($filePath, PATHINFO_EXTENSION); // --- Извлекаем из строки расширение файла - ogg if (!$extension || empty($extension) || !in_array($extension, $allowed)) { --- Первая переменная проверяется на не существование. --- Вторая на не заполненость. ( вообще странно: создать переменную и сразу же в этом сомневаться, а потом ещё и проверить - пустая ли она? и делать это через или. ) --- Третья, сравниваем из строку с массивом ( ищем в строке - ogg ). Ок! Своими словами, выражение не срабатает. Скрипт продолжит выполнение с параметрами: uploads/upDir/namefile.ogg, и удалит файл из другой директории. Это конечно не супер страшно, страшно будет когда в супер глобальную прилетит неожиданность а заголовок header( статья на хабре ) как Герасим... --- Самое простое решение, допускаем только: латиницу и точку. --- Под супер глобальной $_POST пишем: preg_match ( \"%^[[:alnum:].]+$%i\", $fileName ) ? : die ( \'Hai Hacker\' ); --- А так пример интересный, конкретно конвертация в gif... Записать в буфер, а blob повесить на линк... И получиться забавная игрушка: сделай анимацию из себя...)) -MiSHuTkA- (8 Jun 2021 в 00:42) DoR, Там все скрипты с всякими штуками непродуманами ! Испровлять да и все переделывать -кстати протестил реально пошло сразу с первого разу все зароботало только я все CSS убрал пока в компе заморачивался тести -там получается видео и ауди потом звук с фоткой -просто видео и звук отдельно и просто фотка отдельно формат звука waw и ogg - на хосте тестовом тоже зароботало кстати сразу щас там отстройку делаю будет стоять в админ чате в гостевой в коментах да где угодно можно ставить ! Переделок тьма -можно убрать лишнее там отключил кстати систему авточистки в пробной версии при выходи автоочистка сносит все звуки -но обошел их кстати туда поидеии и подойдут более новые JS но я еще не пробывал нада попробывать -лучшего ниче не нашел кстати - твой скрипт у меня не пошел -немогу в компе в Денвер поставить PHP5 у меня ХP потомучто наверно а переходить на всякие WINDOWS-7 нехочц ставил отдельно -прийдется ОС ставить чтоб запускать Open_Server -MiSHuTkA- (8 Jun 2021 в 02:08) DoR, У тебя PHP-5-6 требует скрипт а я подогнал нечего делать под PHP Version 5.3.13 -и не требуется порт 443 как у тебя и скрипт весит всего 581кб распокованый там все просто оказалось что проще не бывает и не нада никакие прописывать как у тебя bbcode.php сразу в код внедряется под общие теги mp3 - mp4 -все просто как Автомат Калашникова ! А то что там всякие дыры есть маленькии то не проблема оттестирую спец прогами на уязвимость и для админ чата такое покатит к примеру ! DoR (8 Jun 2021 в 13:16) -MiSHuTkA-, Нет-ну понятно, куда мне до вас? --- Вы уязвимости ищите программами, а я по старинке - ручками...)) А вот по поводу медиа-стрима согласен, можно запустить и без 443 порта: 1) На локальном сервере. 2) На эксклюзивном браузере. 3) Если вы хороший айтишник, что <=> хакер. А в общем, сама технология не безопасна до той степени, что позволяет получить не только внутренний ип, но и доступ к камере-микрофону. То есть увидеть либо отснять оппонента. *Но это противозаконно и трактуется как вторжение в личную жизнь. --- А скрипт мой прост, о чём собственно указанно в описании. Ибо написан с целью - донести в массы, а не запутать людей. И я бесконечно рад что вы один из тех кто оправдал надежду. Но задам один вопрос... Зачем 5.3.13 если уже 8.1 ?...)) P.S Насчёт бб-кодов, спасибо iSIMba. Его идея очень упростила установку, как собственно отправку и отладку... Конечно можно сделать и отдельно, но предпочитаю интегрироваться. Модуль должен быть частью системы, а не на шее нога. -MiSHuTkA- (8 Jun 2021 в 16:07) DoR, Проверь !Я тебе ответил там ! https://huyamba.000webhostapp.com/TEST/ DoR (8 Jun 2021 в 16:15) -MiSHuTkA-, Я конечно понимаю что \"там\" это точно не тут... --- Но если не затруднит... Пожалуйста, больше конкретики...)) P.S Предпочитаю общение в форуме. -MiSHuTkA- (8 Jun 2021 в 17:13) DoR, Ну глянул?? DoR (8 Jun 2021 в 17:54) -MiSHuTkA-, Вы написали что ответили мне... --- А это значит ответили на моё сообщение. Но меня там ( куда вы дали ссылку ) не было и нет. Если там пишут от моего имени, знайте это не я. Желаете, пишите тут. Тут это в форуме...)) P.S Если что то личное, можно в почту. -MiSHuTkA- (8 Jun 2021 в 18:03) DoR, Я стер там был комент звуковой Щас тему сделал тут https://dcms-social.ru/forum/14/50/63304/new?page=1 Буду базу данных делать седня наверное под DCMS для модуля там несложно DoR (8 Jun 2021 в 20:43) -MiSHuTkA-, Вот теперь понимаю. --- Как сделаете запланированное, покажите. Буду рад посмотреть...)) Marvel97 (13 Jun 2021 в 08:43) Sys / fnc Коды закидываю в bbcod И кладу на почту, все вышло, но запись не работает. DoR (19 Jun 2021 в 19:20) Marvel97, Здравствуйте! --- Ошибки, скрины...? Хоть что-то...)) Источник: http://dcms-social.ru/forum/14/50/63299/