본문 바로가기

개발/nodejs

(7)
ffmpeg 서버 프로세스 실행 프로세스 REST API 요청 ->param 분석 -> 명령어 생성( builder 개발) -> child process ( exec or spawn ) 호출 ->ffmpeg 실행 ->영상 생성 ->서버 업로드 ->DB 상태 업로드 child_proccess 를 사용하지않고 nestjs 에서 제공하는 라이브러리 사용이 가능하지만 ffmpeg에서 다루는 모든 API를 제공하지 않아 child_process를 통한 직접 호출이 더 효과적이다. | child_process 란 : nodejs 환경에서 python, git, ffmpeg등 외부 프로그램을 실행 할 수 있도로 지원하는 프로세스 모듈 exec 와 spawn 의 차이 exec : 버퍼 기반으로 결과를 한번에 받음import { exec }..
ffmpeg 개념 FFmpeg은 오디오·비디오 등 위한 오픈소스 멀티미디어 프레임워크입니다. ffmpeg으로 영상/음성 인코딩 및 자르기, 합치기, 필터링 등을 수행가능하다 ffmpeg: cli 명령어ffprobe : 미디어 조회, duration, fps, codec 등 정보 수집, 분석 도구ffplay : 영상 플레이 nodejs/nest js에서 child_process를 통해 명령 전달 가능함 * child_process 란 : nodejs 환경에서 python, git, ffmpeg등 외부 프로그램을 실행 할 수 있도로 지원하는 프로세스 모듈 * 인코딩이란 원본 RAW 데이터를 압축 하여 컨테이너에 담는 과정영상 인코딩 과정각 픽셀 은 24bit ( = 3byte 의 R,G,B ) 로 구성됨하나의 프레임에는 ..
nodejs - mysql connect lost 이번시간에는 PROTOCOL_CONNECTION_LOST 에러에대해서 다뤄볼 예정입니다. 일단 기존 구조는 다음과같습니다. db.js 에서는 db 정보 및 connect 와 error event 리스너가 있습니다. 이 코드를 middle1 , middle2 , middle3 에서 require로 참조해서 query 를 날리고 있습니다. 기존 구조에서 2가지 문제점이 있습니다. 첫번째 문제는 일단 mysql 의 wait_timeout을 28800초로 설정해둔 상태에서 시간이 경과하면 PROTOCOL_CONNECTION_LOST 이 발생하여 connection을 잃어버립니다. 설정은 마지막 query 이후 wait_timeout만큼 유지하다가 connect lost 가 발생하는 걸로 알고있엇는데 cloud ..
node js 실시간 로그 수집 및 검색 -3 앞서 테스트 코드를 돌려서 검색하는것 까지 해봣습니다. https://programmerk.tistory.com/59 node js 실시간 로그 수집 및 검색 -2 이번시간에는 저번에 설명해 드렸던 부분을 실제로 돌려보는 작업을 할 예정입니다. * 설명한 부분이란 : nodejs로그를 kibana에서 검색 및 시각화 제 개발환경은 윈도우 10 이고 docker 와 docker-compose programmerk.tistory.com 이제 마지막으로 저희 서버에 반영하기 입니다. 예제에서는 docker-compose를 실행할때 build 하고 volume을 bind 하는 부분이 있엇는데 저는 dockerfile을 docker image로 만든 후 docker-compose에서 bind하지않는 방법으로 진행..
node js 실시간 로그 수집 및 검색 -2 이번시간에는 저번에 설명해 드렸던 부분을 실제로 돌려보는 작업을 할 예정입니다. * 설명한 부분이란 : nodejs로그를 kibana에서 검색 및 시각화 제 개발환경은 윈도우 10 이고 docker 와 docker-compose는 이미 설치하였습니다. 순서대로 따라해보시면 테스트해보실 수 있습니다. 순서는 다음과 같습니다 1. git clone https://github.com/baaaaaaaaaaaaam/logsystem 2. docker-compose 설명 및 실행 3. nodejs 접속 및 로그 확인 4. kibana 접속 5. 패스워드 초기화 & 파일 수정 & 재실행 6. filebeat 에서 nodejs 로그파일 확인 시작합니다 1. git clone https://github.com/baaaa..
node js 실시간 로그 수집 및 검색 -1 안녕하세요 엄청 오랜만에 글을쓰는거같은 기분입니다. ㅋㅋㅋ 오늘 작성하려는 글은 실시간 로그 수집 및 검색으로 예전에 작성한 글에서 추가하여 진행하게 되었습니다. https://programmerk.tistory.com/49 [nodejs] - 한국시간 로그 남기기 (with docker) docker 위에 올라간 nodejs + express 의 한국시간으로 로그남기는 방법입니다. 로그파일은 logs 라는 디렉토리가 생성되면서 자동으로 해당날짜 파일이 생성됨니다. 설치가 필요한 모듈 npm install express programmerk.tistory.com 음.. 처음에는 docker 로 nodejs를 사용할때 log를 남겨야겠다는 단순한 생각으로 위에 처럼 하게 되었습니다. 실제로 서버에 아래처럼..
[nodejs] - 한국시간 로그 남기기 (with docker) docker 위에 올라간 nodejs + express 의 한국시간으로 로그남기는 방법입니다. 로그파일은 logs 라는 디렉토리가 생성되면서 자동으로 해당날짜 파일이 생성됨니다. 설치가 필요한 모듈 npm install express npm install winston winston-daily-rotate-file npm install moment-timezone 1. config 디렉토리 만들기 2. winston.js 파일 만들고 "첨부1." 내용 붙여넣기 3. 로그를 기록한 파일에서 "첨부2." 처럼 로그 기능 추가하고 "결과1" 확인 4. "첨부 3"과 "첨부 4" 만들고 docker build ("첨부5") ==> docker image로 build 시킨후 도커에서 실행할 예정 5. docker..