WebRTC Janus_gateway 서버 소스의 설계 구조 소개 입니다 ...

 

 

janus-gateway GitHub 소스를 다은로드하면

 

janus-gateway 디렉토리에 있는 소스들이 Janus 서버 Core 단 소스 입니다 ...

 

그리고

janus-gateway/plugins 디렉토리에 있는 소스가 

WebRTC 미디어 서버 동작시 필요한 주요 기능들의 플러그인 함수들 입니다 ...

 

 

 

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....


HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com

 

 

 

아래는 구글의 자료인데 크롬 브라우져 WebRTC 보안인증 자료인데 살펴 보세요 ..

 

 

아래의 DTLS-sRTP 보안인증 절차 규격 자료를 참고하세요. 위의 내용과 비교 검토해 보십시요 ...

 

 

 

아래는 WebRTC 에서 DTLS-sRTP 보안설정을 하기위한 WebRTC API 로 보안을 설정한 케이스 소개 입니다 ...

 

 

 

Janus 서버 소스에는 DTLS-sRTP 로 동작시 WebRTC 보안인증을 ECDH ciphers 로 지정할 경우, 이것이 서버에서 Negotiating 처리동작을 안할수 있으니, 공통적으로 동작하는 P-256 으로 ECDH ciphers 를 설정해서 사용하는 Janus 소스자료를 첨부 합니다 ...

 

 

https://www.openssl.org/.../man3/SSL_CTX_set_tmp_dh.html

위의 OPENSSL 라이브러리 설명 사이트의 내용에서 ECDH ciphers 관련 세부 설명이 있으니 참고하시면 좋을 것 같습니다 …

 

Janus 서버 소스에서 다음과 같이 설정하고 있습니다

Specify an ECDH group for ECDHE ciphers, otherwise they cannot be negotiated when acting as the server. Use NIST's P-256 which is commonly supported.

EC_KEY *ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);

SSL_set_tmp_ecdh(dtls->ssl, ecdh);

 

자세히 검토하시면 좋을 것 같습니다 …

 

 

아래는 웹 브라우져에서 지원하는 Cipher Suites 목록인데 조금 된 자료 입니다 ...

 

 

 

 

 

 

 

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....


HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Janus 서버의 기본 보안 설정이 DTLS-sRTP 이므로 dtls_ciphers 설정값에서 보안 암호화 방법을 얻어내고

Janus_dtls_srtp_init 함수에서 Janus 서버의 DTLS-sRTP 보안인증 초기화 처리를 합니다 ...

Janus 서버의 OPENSSL 라이브러리를 사용해서 보안인증시 selfsigned certificate 방식으로 인증서 설정 파라미터가 설정 될겁니다 ...

 

제가 파악한 부분은 여기까지 입니다 ...  

 

 

 

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....


HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com

 

 

 

 

 

 

 

제가 파악한 WebRTC  DTLS/sRTP  패킷 처리관련  JANUS 서버의 처리함수 소개 입니다 ...

 

 

 

 

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....


HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com

 

 

 

 

 

 

 

아래의 Janus 서버 오픈소스의 함수 리스트를 살펴 보시면 Janus 서버가 WebRTC 와 관련해서 어떤 동작구조로 동작하는지 파악하실수 있을 겁니다 ...

 

 

 

 

 

 

 

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....


HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com

 

 

 

 

 

Janus 미디어 서버 비디오 룸 처리 서비스중 Janus 서버의 SDP 구현 함수  

 

 

 

 

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....


HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com




 

 

 

RTP 패킷 전송부분 관련된 Janus 서버 오픈소스의 주요함수 입니다 ...

Janus 미디어서버에서는 피어단들에서 전송되는 sRTP 패킷을 수신해서 릴레이 서버역할을 하는 SFU 미디어서버 기능의 릴레이 RTP 패킷 전송부분이 제가 판단하기에 중요하다고 생각해서 아래에 주요함수를 열거했읍니다 ...

 

 

 

 

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....


HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com




 

 

 

 

 

아래에 소개된 Janus 미디어 서버 주요함수를 소개 드립니다 ...

함수명만 가지고도 Janus 미디어 서버 내부 동작이 유추가 가능하실겁니다 ....

 

 

 

 

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....


HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com




 

 

 

 

 

 

 

 

WebRTC 의 오디오 믹싱 처리에 대해 그동안 고민했던것을 정리해서 적어보려 합니다 ....

 

피어단의 SDP 협상과정 처리후 오디오 데이터도 얻을수 있는데 ...

WebRTC 는 기본적으로 sRTP(Secured RTP) Packet 으로 피어단들끼리 오디오 데이터를 주고 받읍니다 ...

sRTP 패킷은 기본으로 ECDSA 보안인증 시이퀀스에 의해 암호화 처리가 된다고 WebRTC 규격에 표시되 있읍니다 ...

여러개의 피어단의 오디오 데이터를 믹싱처리를 WebRTC 미디어서버에서 처리하려면 ....

피어단에 전송되는 오디오 패킷이 기본적으로 sRTP(Secured RTP) Packet 으로 전송되었다면

미디어 서버단에서 이를 복호화 처리를 해줘야 RTP 오디오 데이터 패킷을 얻을수 있읍니다 ...

이 RTP 패킷의 오디오 데이터의 RTP 헤더부분을 제거해줘야 원래의 오디오 데이터를 얻을수 있읍니다 ...

여기서 얻어진 원래의 오디오 데이터의 경우, 에코 캔셀레이션 과 노이즈 억압 을 처리하기 위한 WebRTC Audio 처리

제어 옵션이 인에이블 처리되면, 에코 캔셀레이션 과 노이즈 억압 기능이 브라우져 내부엔진에서 동작을 하게 됩니다 ...

이렇게 해서 얻은 오디오 데이터들은 다수의 피어단들에서 미디어서버로 전송되면 위의 과정을 거쳐 미디어서버에 전달되는데 ...  제 판단에는 여러 피어단들중  에코 캔셀레이션 과 노이즈 억압 처리를 한 오디오 데이터가 일정 쓰레숄드 이하의 오디오데이터만 가지고 있다면 그 오디오 데이터는 음성신호가 없는것으로 판단해서 오디오 데이터 믹싱시 제외하고 믹싱처리를 해주면 여러 피어단들로부터 전송된 오디오 데이터를 좀 더 안정된 음질로 오디오 데이터 믹싱 처리가 가능할것 같읍니다 ...

 

위의 내용은 오디오 데이터 처리 관련 저의 그동안의 분석 내용을 정리한것 입니다 ...

부족한 점이나 개선사항있으시면 알려주시면 감사하겠읍니다 ...

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....


HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com




 

 

 

 

 

 

 

 

 

 

 

WebRTC 미디어서버는 다수의 피어단들로부터 1 대 다 통신처리를 처리해야 합니다 ...

WebRTC 로 미디어서버를 설계시

SDP 정보에는 피어단들의 ICE 후보자 정보들이 포함되고, 또한 피어단들의 코덱 정보들이 포함됩니다 ...

SDP 정보에는 어떤 ICE 정보와 어떤종류의 코덱을 사용하는지에 대한 정보가 포함되서 시그널링 서버를 통해 서로 정보를 교환하게 됩니다 ...

STUN 서버를 통해 상대방의 피어단과 나의 네트웍 정보(ICE 후보자 정보)를 얻을수 있읍니다 ...

TURN 서버는 피어단들끼리 통신이 어려울때 TURN 서버가 피어단의 데이터를 상대 피어단으로 릴레이 전송을 하게 됩니다 ...

글로벌 대기업의 웹 브라우져에는 WebRTC 엔진이 내장되 있읍니다 ...

이 WebRTC 엔진의 API 를 사용해서 피어단 의 ICE 후보자 정보도 포함해서 SDP 정보를 획득할수 있고

또한 피어단의 코덱정보도 포함해서 SDP 정보도 얻을수 있읍니다 ...

내가 연결한 PC 의 SDP 정보를 상대방 피어단에 전송해서 나의 PC의 SDP 정보를 상대방 피어단도 서로 알수있게 한후 미디어 데이타 통신이 시작하게 됩니다 ...

WebRTC 규격에는 피어단들끼리 미디어 데이터 송수신시 sRTP(Secured RTP) Packet 으로 송수신 처리가 가능 합니다 ...

브라우져의 WebRTC 엔진의 API 로 미디어서버를 설계하려면 ...

기본적으로 WebRTC API 가 제공하는 기능인 피어단의 SDP 정보 획득 및 획득후 상대방 원격 피어단으로 SDP 정보 전송이 처리되야 하고, 피어단들은 미디어 정보가 있으니 SDP 정보에 코덱정보가 있다라고 표시해서 미디어서버로 송신하고 미디어서버는 카메라나 마이크가 없으므로 미디어데이터가 없으므로 코덱정보가 없다라고 SDP 정보를 생성해서 피어단들로부터 미디어 데이터를 미디어서버로 수신처리를 하면 피어단들의 미디어데이터를 미디어서버가 얻을수 있읍니다 ...

다자간 화상회의 구현시에는 이렇게 획득한 피어단들의 미디어 데이터 정보를 다수의 피어단들로 다시 재전송해야하는 처리를 하는것을 미디어서버중 SFU 처리 기능이라고 부르는데 이 부분의 설계가 미디어서버의 설계의 전부 다 입니다 ...

피어단들로부터 미디어서버가 미디어데이터를 가져올때, 피어단의 화면해상도를 어떤 상태로 미디어 데이터 정보를 가져오느냐에 따라 네트웍 트래픽량이 결정되므로 피어단의 화면 해상도에 따른 미디어 데이터 전송방법에 따라 최적화 방안을 검토하면 된다.

 

WebRTC 의 구현시 가장 중요한게 SDP 정보의 획득 및 이 획득된 정보를 원격 피어단들로 전송 처리하는것 인데

이 SDP 정보에는 미디어서버와 피어단이 어떤 네트웍 구성으로 서로 접속되 있고 또 어떤 코덱을 어떤 방법으로 사용할지에 대한 정보를 다 가지고있고 미디어서버와 피어단이 미디어데이터를 주고받기 위해서 사전에 필요한 서로간의 세부협상절차가 SDP 정보에 다 들어 있읍니다 ... 

 

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

HOME  :  https://dmbtec.blogspot.com/

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com

일인기업 (개인사업자 기업) DMBTEC 기술자문 장석원 입니다 ...

 

연락주셔도 좋읍니다 ....

 

 

 

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

저는 그동안 WebRTC 설계 국제규격관련 분석 및 검토작업을 약 일년 넘게 진행했읍니다 ...

제가 개발총괄로 일하다 보니

WebRTC 규격으로 개발할때 개발 구현을 직접적으로 처리시 검토분석이 필요한 부분이 어느것이고 이것과 관련된 세부 기술이슈가 어떤것이 있고 이것을 파악하려면 어떤 부분의 세부분석자료가 필요한지 등등을 그동안 진행했읍니다 ...

WebRTC 로 다자간 화상회의 구현을 하려면

WebRTC 규격이 원래 P2P 통신이 기본 설계 개념으로 규격이 작성되 있기에 ...

1 대 다 통신을 WebRTC 로 구현하려면 미디어서버단의 구현 설계 기술이 필요하고

WebRTC 미디어서버단의 오픈소스가 Janus 서버가 있고 ...

이 Janus 오픈소스로 커스토마이징 설계해서 국내의 업체가 화상회의 구현을 상용화 출시를 했읍니다 ...

Janus 오픈소스도 오픈소스다 보니 개발에 참조해서 개발하라는 소스이지 최적화해서 개발한 소스는 아니라서

국내의 업체가 개발한 WebRTC 화상회의 구현도 Janus 소스로 하다 보니 상용화이후 개선이 필요한 부분의 개발이

필요하기에 미디어서버 오픈소스인 Janus 서버의 내부 동작원리를 정확히 파악해야만 미디어서버의 동작성능을

최적화한 구현이 가능해 집니다 ...

 

제가 그동안 일년반동안 WebRTC 관련규격들을 검토분석하다보니 느낀건데 ...  가장 중요한 부분은 ...

WebRTC 규격이 어떤 동작구조로 세부적으로 동작하는지 파악해야 하는데 이것을 제대로 파악하려면

국내 어느 업체라 해도 세부분석에 시간투자없이는 쉽게 파악이 안되서 세부진행시 결코 쉽지않습니다 ...

 

다자간 화상회의 구현시 핵심은

피어단들과 미디어서버단과 다중통신 처리를 네트웍 트래픽을 최소화해서 구현하려면

미디어서버의 다중통신 처리 부분설계시 피어단과 서로 어떻게 서로 협상절차를 진행해야

가장 최적의 통신 트래픽 구현이 가능한지가 핵심인데 ...

검토해야할 설계 포인트가 몇가지가 있는데 이것을 어떻게 처리해서 최적의 통신 트래픽을 구현하는가가 핵심인데

국내의 각 업체마다 설계 포인트가 각각 다르기 때문에 개발업체별로 미디어서버의 통신 트래픽 처리 성능도

업체별로 성능이 다 다른 구조 입니다 ...

 

저도 기본적으로 그동안 일년 넙게 검토분석을 했기 때문에

미디어서버의 트래픽을 최소화하기 위한 제가 생각하는 설계 구현안을 갖고 있읍니다 ...

 

WebRTC 규격이 한가지만 검토하면 되는게 아니고 최소 10 가지를 동시에 검토분석을 해야 세부적인 구현을 위한

검토가 가능하고, WebRTC 규격이 그동안 10 여년동안 시간이 흐르면서 전에 제정된 규격의 미비점을 보완한 규격 수정작업이 그동안 진행됬읍니다 ...

WebRTC 규격을 이해하려면 WebRTC 규격이 그동안 10 년동안 어떤 방향성을 갖고 규격이 발전된 방향으로 수정작업이 진행됬는지 WebRTC 규격의 성능개선을 위한 개선작업의 히스토리의 이해도 필요합니다 ...

 

제 소개를 하겠읍니다 ...

 

DMBTEC       HP : 010-3350-6509      이메일 :  sayhi7@daum.net 

HOME  :  https://dmbtec.blogspot.com/   기술자문 장석원 입니다 ...

 

DMBTEC 기술자문 분야 - 미디어서버 분야 :: 전기차 모터제어 분야 :: 로라통신 - 모드버스통신 분야

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com

 

 

 

 

 

 

 

저는 요즘 일본회사 기술고문 계약을 6 개월 마치면서 요즘 WebRTC 다자간 화상회의 설계 나 K POP 스타 공연실황 방송 플랫폼 설계쪽을 공부하면서 분석중 입니다 ...  제 글이 부족한 점 있으시면 의견 주시면 감사하겠읍니다 ...

 

K-POP 플랫폼 설계중 K POP 스타의 공연실황을 전세계 구독자에게 방송하기 위한 플랫폼 설계에 대해 이야기해 보려 합니다 ...   

수천만명의 구독자가 방송 시청을 구현하려면 멀티캐스트 통신에 대해 분석이 필요 합니다 ...

제 생각을 말씀드려 보겠읍니다 ...

구독자가 멀티캐스트 통신을 하려면 구독자가 집이든 회사든 공유기에 접속된 PC 에 접속하고 있을 겁니다 ...

공유기에 접속된 PC 가 멀티캐스트 통신을 하려면 공유기가 IGMP 프로토콜을 지원해야만 멀티캐스트 통신이 가능 합니다 ...  만일 공유기가 IGMP 프로토콜을 지원치 않는다면 공유기로 IGMP 패킷에 그룹주소를 명기해서 IGMP 프로토콜을 지원하는 라우터로 전송이 필요 합니다 ... 이때 공유기가 유니캐스트 통신만을 지원할 경우 유미캐스트로 캡슐화된 IGMP 패킷을 전송해서 IGMP 프로토콜을 지원하는 라우터까지 전달된후 유니캐스트로 캡슐화된 패킷을 다시 멀티캐스트 트래픽으로 변환하는 과정을 멀티캐스트 터널링 제어 기술이라고 하고 저는 이 터널링 제어 기술이 K POP 플랫폼 설계 기술의 가장 핵심이라고 판단 합니다 ...

이때 필요한 기술이 멀티캐스트 백본 기술 입니다 ...    이것은 멀티캐스트 터널링으로 호스트들을 접속 가능하게 해주는 가상 멀티캐스트 네트웍 기술이 필요 합니다 ...

멀티캐스팅 데이터가 225.100.1.7 에서 225.100.1.8 로 전송하고 수신할 경우 ...

멀티캐스트 225.100.1.8 에 접속된 구독자들이 라우터로부터 IGMP 데이터 패킷을 받기 위해서는 IGMP 패킷에 멀티캐스트 그룹주소 225.100.1.7 을 명기해서 라우터로 전송하게 되고 라우터는 멀티캐스팅 라우팅 테이블을 검토해서 어느 구독자로 데이터를 보내야할지를 알수있게 됩니다 ... 

 

저도 아직 100 % 확실하게 파악된것은 아니고 아 이렇구나 라는것을 이해할 정도는 파악하고 있읍니다 ...

 

저도 K POP 플랫폼 공연실황 방송 부분 설계기술을 사업화하려고 공부중이고요

가장 핵심이 멀티캐스트 터널링 제어 기술이라고 생각 합니다 ...

 

제 소개를 하겠읍니다 ...

 

DMBTEC  10 년을 유지해 온 일인기업 개인사업자 기업 입니다 ...

HOME :  https://dmbtec.blogspot.com/     57 세 장석원 개발총괄 입니다 ...

 

DMBTEC - ( 카메라 / 블루투스 / WIFI / LTE / LoRa/ Motor Control ) 임베디드리눅스 / STM32 펌웨어 개발

메일로 문의사항을 보내 주시면, 최대한 빠른 시간안에 검토해서 연락드리도록 하겠읍니다 ....

dmbtec.blogspot.com

E-Mail :  sayhi7@daum.net    DMBTEC 개발총괄 장석원 입니다 ....

 

관련 내용 위의 메일주소로 연락주셔도 좋읍니다 ...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Skills

· 오픈소스 WebRTC 미디어서버 세부 기술자문 및 개발용역 분야 커스토마이징 개발 가능

· 카메라센서 3A 튜닝 세부기술 자문 및 개발용역 분야 커스토마이징 개발 가능

· 인공지능 딥러닝 구현 세부기술 자문 및 개발용역 분야 세부 분석 경험 있음 (약 70 % 분석 성공)

· 저전력 장거리 통신방식인 로라통신 세부기술 기술자문 및 개발용역 분야 커스토마이징 개발 가능

· 임베디드리눅스 커널 이미지센서 및 ISP 드라이버 수정설계 분야 커스토마이징 개발 가능

· 임베디드리눅스 커널 WIFI 칩셋 드라이버 포팅 및 소켓 송수신 어플 설계 분야 커스토마이징 개발 가능

 

Experiences

· Image 센서 및 ISP 리눅스커널 드라이버 및 3A 튜닝 수정설계 및 자문분야

  - 이미지센서 Exposure 제어 처리구조 및 커스토마이징 설계 가능

  -  Image 센서 및 ISP 리눅스커널 리눅스커널 드라이버 수정설계 세부 구현 노하우 파악성공

· WebRTC Janus 오픈소스 미디어서버 수정설계 및 자문분야

  - Janus 오픈소스 미디어서버 세부 소스  커스토마이징 설계 가능

  - Janus 오픈소스 미디어서버 대용량 서비스로 확장설계 세부 구현 노하우 파악성공

· 인공지능 딥러닝 구현 세부기술 자문 및 개발용역 및 자문분야

  - 딥러닝 음성합성 모델인 Tacotron 및 Fastspeech 모델 세부 설계구조 70 % 파악 성공

  - 딥러닝 GAN 모델중 StyleGAN 모델 세부 설계구조 70 % 파악 성공

· 저전력 장거리 통신방식인 로라통신 세부기술 기술자문 및 개발용역 분야

   - SemTech 사 LoRa 통신 칩셋으로 국제 LoRa 통신 규격대로 Class A 통신 구현 노하우 보유

   - LoRa 통신 칩셋으로 국제 LoRa 통신 규격대로 Class A 통신 구현시 보안인증 절차 70 % 파악 성공

· WIFI 통신 세부기술 기술자문 및 개발용역 분야

   - 리눅스커널에서 네트웍 프로토콜 스택 부분중 데이타 통신을 위한 Socket 통신부 설계구조 60 % 파악 성공

   - 리눅스커널에서 네트웍 프로토콜 스택 부분중 데이타 통신을 위한 드라이버 포팅 및 

     Socket 송수신부 커스토마이징 설계 노하우 파악 성공

 

Programming Languages

- Linux Kernel Device Driver 수정설계 및 Linux 어플 수정설계 능력 보유

- Linux GCC Cross-Compiler 개발환경 셋팅 및 개발환경에서 드라이버 및 어플 개발 가능

 

 

위의 분야 기술개발 및 기술자문 협의 요청주시면 협의후 기술자문 및 개발용역 진행이 가능한 상태 입니다 ...

 

DMBTEC  대표/기술자문 총괄  장석원 입니다 ...

HP :  010-3350-6509

E-Mail  :   sayhi7@daum.net   

위의 자문분야 기술자문 및 개발용역 관련 문의를 위의 연락처로 연락 부탁드립니다 ...

자료출처 : http://www.kelp.or.kr

== 다시 나온 pixel 찍기 소스
===============================
/*
* fbpixel2.c : Frame buffer draw pixel example(using mmap)
*
* Copyright(C) 2002 holelee
*
*/

#include <stdio.h>
#include <stdlib.h> /* for exit */
#include <unistd.h> /* for open/close .. */
#include <fcntl.h> /* for O_RDWR */
#include <sys/ioctl.h> /* for ioctl */
#include <sys/mman.h> /* for mmap */
#include <linux/fb.h> /* for fb_var_screeninfo, FBIOGET_VSCREENINFO */

#define FBDEVFILE "/dev/fb"

typedef unsigned char ubyte;

unsigned short makepixel(ubyte r, ubyte g, ubyte b)
{
return (unsigned short)(((r>>3)<<11)|((g>>2)<<5)|(b>>3));
}

int main()
{
int fbfd;
int ret;
struct fb_var_screeninfo fbvar;
unsigned short pixel;
int offset;
unsigned short *pfbdata;

fbfd = open(FBDEVFILE, O_RDWR);
if(fbfd < 0)
{
perror("fbdev open");
exit(1);
}

ret = ioctl(fbfd, FBIOGET_VSCREENINFO, &fbvar);
if(ret < 0)
{
perror("fbdev ioctl");
exit(1);
}

if(fbvar.bits_per_pixel != 16)
{
fprintf(stderr, "bpp is not 16\n");
exit(1);
}

pfbdata = (unsigned short *) mmap(0, fbvar.xres*fbvar.yres*16/8, PROT_READ|PROT_WRITE, MAP_SHARED, fbfd, 0);

if((unsigned)pfbdata == (unsigned)-1)
{
perror("fbdev mmap");
exit(1);
}

/* red pixel @ (0,0) */
pixel = makepixel(255,0,0); /* red pixel */
*pfbdata = pixel;

/* green pixel @ (100,50) */
offset = 50*fbvar.xres+100;
pixel = makepixel(0,255,0); /* green pixel */
*(pfbdata+offset) = pixel; /* draw pixel */


/* blue pixel @ (50,100) */
offset = 100*fbvar.xres+50;
pixel = makepixel(0,0,255); /* blue pixel */
*(pfbdata+offset) = pixel; /* draw pixel */

/* white pixel @ (100,100) */
offset = 100*fbvar.xres+100;
pixel = makepixel(255,255,255); /* white pixel */
*(pfbdata+offset) = pixel; /* draw pixel */

munmap(pfbdata, fbvar.xres*fbvar.yres*16/8);
close(fbfd);
exit(0);
return 0;
}

+ Recent posts