일 년 전 · 정창록 님의 질문
Next.js 에서 fluent-ffmpeg 사용 시 에러 해결 가능할까요?
Next.js 에서 puppeteer를 사용해서 특정 url에 접속하여 애니메이션을 png로 100장 정도 캡처하여 생성하고, fluent-ffmpeg를 사용해서 해당 png 이미지들을 mp4 영상으로 만들려고 하는데요. yarn add puppeteer fluent-ffmpeg @ffmpeg-installer/ffmpeg yarn add --dev @types/fluent-ffmpeg 위와 같이 라이브러리들을 설치했구요. 아래 page.tsx 파일에서 코드를 구현했는데요. dev로 실행해서 해당 페이지에 접속을 하면 아래와 같은 에러가 발생하는데요. 해결이 가능할까요?? 다른 라이브러리를 써야할지 구현한 코드가 문제가 있는지 모르겠네요. 도움 부탁드립니다!! # 에러 코드 # 1 of 1 error Next.js (14.2.3) Server Error Error: Cannot find module '/Users/.../animation-capture/node_modules/@ffmpeg-installer/darwin-arm64/package.json' This error happened while generating the page. Any console logs will be displayed in the terminal window. Call Stack webpackEmptyContext file:///Users/.../animation-capture/.next/server/app/capture/page.js (22:10) eval node_modules/@ffmpeg-installer/ffmpeg/index.js (40:27) (rsc)/./node_modules/@ffmpeg-installer/ffmpeg/index.js file:///Users/.../animation-capture/.next/server/vendor-chunks/@ffmpeg-installer.js (20:1) Next.js eval /./src/app/capture/page.tsx (rsc)/./src/app/capture/page.tsx file:///Users/.../animation-capture/.next/server/app/capture/page.js (286:1) Next.js # 코드 구현부 # import { NextApiRequest, NextApiResponse } from 'next'; import puppeteer from 'puppeteer'; import fs from 'fs'; import path from 'path'; import ffmpeg from 'fluent-ffmpeg'; import ffmpegInstaller from '@ffmpeg-installer/ffmpeg'; ffmpeg.setFfmpegPath(ffmpegInstaller.path); .... 중략.... const outputFilePath = path.resolve("./screenshots/video.mp4"); ffmpeg() .addInput(`${folderPath}/screenshot-%d.png`) .inputFPS(10) .output(outputFilePath) .on("end", () => { res.status(200).send(`Video created successfully at ${outputFilePath}`); }) .on("error", (err) => { console.error("Error generating video:", err); res.status(500).send("Failed to generate video"); }) .run(); } catch (error) { console.error("Error capturing screenshots:", error); res.status(500).send("Failed to capture screenshots"); }
개발자
#next.js
#fluent-ffmpeg
#mp4
답변 0
댓글 0
조회 92
일 년 전 · 익명 님의 질문
백엔드 테스트 와 머신러닝 테스트가 따로 하면 잘되는데 같이 하면 오류가 발생합니다.
저희 프로젝트의 기본적인 골자는 osmd라고 하는 mxl포맷 파일을 악보 형태로 렌더링해주는 라이브러리를 사용하구요, 스트림되는 오디오를 듣고 그걸 머신러닝 파이썬 코드가 처리한 뒤 timestamp라는 값을 반환하면 그에 맞춰 악보의 현재 위치를 가리키는 cursor를 움직이는 프로젝트입니다. 또한 오디오 스트림을 넘겨받기 위해서 aws에다가 쿠렌토 미디어 서버를 만들었구요, 머신러닝 코드는 로컬에서 돌아가고 있습니다. 각기 따로 스트림을 처리했을때(stdin stdout) 잘 되는 것을 확인했습니다(https://github.com/Kurento/kurento-java 쿠렌토 서버의 구현은 이 레포를 참고해서 만들었습니다) 또한 import sys def main(): while True: line = sys.stdin.readline() if not line: break output = line.strip() + '2' print(output) if __name__ == "__main__": main() 이 예제를 활용해서 테스트해봤을 때 문제없이 작동했습니다(쿠렌토) 머신러닝 코드는 wav 파일을 버퍼 잘라서 stdin에 집어넣고 테스트해보았습니다 작동은 둘 다 문제없이 작동했지만 같이 이어서 하게되면 Failed to write data: The pipe is being closed라는 오류 로그가 찍힙니다. (요약) 1. 백엔드에서 Kurento Media Server(webrtc) 인풋 들어온거에 아무거나 붙여서 반환하는거로 테스트 해봤을 때 문제 없이 스트림 처리가 되는 것으로 확인 됨 2. 머신러닝 쪽에서 오디오 스트림 모드를 만들고 stdin으로 들어온 스트림에 대한 결과값을 stdout으로 반환하는 것이 확인 됨 3. 그렇지만 둘을 이제 갖다붙이면 위 에러 로그 발생 이유 아시는 분들은 알려주시면 감사드립니다. 두서없이 장문을 써서 이해가 안되는 부분들 말씀해주시면 설명드리겠습니다. 감사합니다.
개발자
#backend
#machinearning
답변 0
댓글 0
조회 52
일 년 전 · 최준혁 님의 질문
어셈블리 관련 공부 과정이 궁금합니다
학부 비전공 1학년 재학중인 학생입니다. 이전 고교 재학 시절 기초적인 어셈블리 코드를 구성하여 리포트를 제작한 정도의 얕은 경험을 갖고 있습니다. --‐-------------------- {기초적인 eax, ebx 레지스터를 mov, add, loop,... 과 같은 연산자를 활용해 구구단 출력과 동치인 코드를 제작하고, 구어적 해설(e.g. mov eax, eix, add eix, 1... 과 같은 연산을 loop문을 통해 C의 while과 같은 동작을 함을 언어적으로 설명)을 해 보았다}-정도입니다 ‐------------------------ 본론. 어셈블리어를 공부하는 이유는 기존 java의 lwjg 라이브러리를 공부하다가 메모리쪽으로 이해하는 능력이 떨어졌습니다. 그렇기에 메모리를 공부하기 위해 기계친화적인 어셈블리어를 공부하려고 하는 것입니다. 학부 1학년이라는 가정 하에 1) 일반 종합대학에서 접할 수 있는 과목들 중, 어셈블리와 메모리를 접할 수 있는 과목, 과정을 알고 싶습니다. 또한, 2) java의 메모리,자료형 구조를 심도 있게 배우기 위해서는 어떤 과목이 선수되어야 하는지, 또 어떤 키워드로 검색해야 하는지 알고 싶습니다. 마지막으로 3) 컴파일러에 관한 과정, 기술이 어떤 것이 있는것과, 검색을 어떻게 하면 좋을지 알고 싶습니다.
개발자
#어셈블러
#컴파일러
#java-jvm
#대학생-공부고민
#비전공자
답변 0
댓글 0
조회 96
일 년 전 · 이양일 님의 답변 업데이트
노드 https질문
안녀하세요. 프로젝트를 진행중에 애러를 만났는데 혹시 알고계신분 답변해주시면 정말 감사합니다. 리액트로 프론트를 만들고 node+express 를 웹서버 역할로 프록시 설정을 했습니다. 그리고 ssl 인증을하여 브라우저에 https로 접속 가능하게 하였습니다. 문제는 여기부터인데,, 기존 통신 api가 http로 되어있었는데 그런데 백앤드 개발자분이 api도 https로 바꾸셨다고 하여 https 통신을 하니 Error occurred while proxying request happyman:11111 to https://happyman:11111/ [EPROTO] (https://nodejs.org/api/errors.html#errors_common_system_errors) 라는 오류가 났습니다. 또 신기한건 기존 http로 설정된 api 통신은 되네요? 인터넷이서 하라는거 대부분 했는데 잘 안되네요ㅠㅠ
개발자
#react
#node
#express
답변 1
댓글 1
추천해요 1
조회 457
일 년 전 · 백승훈 님의 댓글 업데이트
Nginx, Express 연결 후 프론트에서 이미지 파일 전송시 408 Error
안녕하세요. 혼자 해보던 도중 도저히 해결이 되지 않아 문의드립니다. - 서버 설계 - 현재 저는 Express앱을 AWS EC2 인스턴스에 NGINX를 설치한 후 proxy_pass에 express앱이 구동중인 port를 연결하여 사용하고 있습니다. 이 과정에서 ALB를 통해 ACM을 연동하여 HTTPS 프로토콜이 사용가능하게 설정까지 하였습니다. 이미지 파일업로드는 multer-s3를 이용해 s3버킷과 연결하여 업로드 되는 방식입니다. - 문제상황 - 로그인과 기본적인 CRUD는 문제없이 되는데, 프론트에서 이미지 파일(multipart/form-data)을 서버로 전송하면 504 오류가 출력됩니다. 1. nginx의 access.log에는 해당 uri의 상태코드가 408이라 출력됩니다. 2. nginx의 error.log에는 readv() failed (104: Connection reset by peer) while reading upstream가 출력됩니다. 3. 개발자도구의 console창에 'server의 이미지 업로드 uri' from origin '프론트 도메인'이 has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 이라 출력됩니다. 위 오류를 해결해보기 위해 시도해본 것은 아래와 같습니다 1. NGINX의 proxy_connect_timeout, proxy_send_timeout, proxy_read_timeout, send_timeout을 600으로 설정, client_max_body_size를 500M으로 설정 2. ALB의 유휴제한시간 600 설정 3. Express 앱에 app.set('trust proxy', true); 추가 4. Express-session에 app.use(session({proxy:true})) 추가 5. body-parser에 app.use(bodyParser.json({limit: '1000mb'})); 추가 및 app.use(bodyParser.urlencoded({limit: '1000mb', extended: true})); 추가 6. 업로드되는 uri의 미들웨어에 (req, res, next) => { req.setTimeout(1000000); next(); } 추가 7. upload.single()미들웨어를 주석처리 후 req.file 출력 시도 아직도 해결을 하지 못하였습니다 ㅜㅜ 연휴임에도 도와주시면 너무 감사하겠습니다..
개발자
#aws
#alb
#nginx
#express
#ec2
답변 2
댓글 4
조회 308
2년 전 · 고건 님의 새로운 댓글
nginx 관련 질문 있습니다 ㅠㅠ
안녕하세요, 현재 프로그래밍을 공부하고 있는 학생입니다. 공부를 하던 중 django를 사용해 프로젝트를 진행했고 aws, nginx, uwsgi 로 배포를 진행하게 되었는데, 배포는 성공적으로 됐지만 처리해야할 데이터가 많은 기능을 사용하면 자꾸 아래 오류가 뜨더군요. (퍼블릭 ip 주소는 X로 가렸습니다) 2023/11/07 15:14:13 [error] 7487#7487: *1 upstream timed out (110: Unknown error) while reading response header from upstream, client: xx.xxx.xxx.xxx, server: _, request: "POST /file_upload/upload/ HTTP/1.1", upstream: "uwsgi://unix:/home/ubuntu/docusift/uwsgi.sock", host: "xx.xxx.xxx.xx", referrer: "http://xx.xxx.xxx.xx/success_with_token/WeDkQYs84hDYcDsl/" 구글링을 해봐도, 스택오버플로우를 찾아봐도 110 오류가 unknown error로 뜨는 것에 대한 해결책은 나오지 않아서 이렇게 여쭤보게 되었습니다. 다만 구글링을 해본 결과 설정을 따로 만져줘야 한다는 것을 봐서 설정은 아래처럼 해놓은 상태인데, 아직 해결은 되지 않은 상황입니다. [uwsgi] chdir=/home/ubuntu/docusift/blog module=blog.wsgi:application master=True pidfile=/tmp/project-master.pid vacuum=True max-requests=5000 daemonize=/home/ubuntu/docusift/debug_uwsgi.log home=/home/ubuntu/docusift/venv virtualenv=/home/ubuntu/docusift/venv socket=/home/ubuntu/docusift/uwsgi.sock chmod-socket=666 socket-timeout=600 harakiri = 300 http-timeout = 300 server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { include /etc/nginx/uwsgi_params; uwsgi_pass django; proxy_buffer_size 512k; proxy_buffers 16 512k; proxy_busy_buffers_size 1024k; proxy_connect_timeout 500s; proxy_send_timeout 500s; proxy_read_timeout 500s; send_timeout 500s; } location /static/ { alias /home/ubuntu/docusift/blog/staticfiles/; } http { upstream django { server unix:/home/ubuntu/docusift/uwsgi.sock; } client_max_body_size 100M; proxy_connect_timeout 800s; proxy_send_timeout 800s; proxy_read_timeout 3600; 혹시라도 해결 방법을 아시는 분들 답변 주시면 정말 감사하겠습니다!!!
개발자
#배포
#aws
#ubuntu
#nginx
#uwsgi
답변 1
댓글 1
조회 177
2년 전 · 커리어리 AI 봇 님의 새로운 답변
파이썬 프로세서 질문 있습니다.
if __name__=="__main__": manager=Manager() Big_df=manager.dict() p1=Process(target=Data1,args=(Big_df,)) p2=Process(target=Data2, args=(Big_df,)) p3=Process(target=Data3, args=(Big_df,) while True: if p1.is_alive() == False: p1.start() p1.join() if p2.is_alive() == False: p2.start() p1.join() if p3.is_alive() == False: p3.start() p3.join() time.sleep(300) 프로세서가 죽으면 자동으로 다시 살리고 싶어서 while 문을 써서 프로세서가 죽었으면 다시 실행 시킬려고 하는데 while 문 안의 코드가 사용 가능한 코드인가요..
개발자
#python
답변 2
댓글 0
조회 367
2년 전 · 엄홍재 님의 새로운 답변
python(while, break, class) 문제 풀어주실 수 있나요?
1. (첫 번째 사진이 문제 내용입니다.) 사용자 정의 함수를 만들고 함수안에 While문과 break를 활용하여 아래 조건과 같은 프로그램을 만드세요. 2. (두 번째 사진이 문제 내용입니다.) 아래의 조건에 맞는 클래스 Car를 만들고, 출력결과와 같이 객체를 생성하세요. 3. (세 번째 사진이 문제 내용입니다.) 2 에서 객체를 생성하고 <출력결과>와 같이 메서드를 호출하세요.
개발자
#python
#문제풀이
#while
#break
#class
답변 3
댓글 0
보충이 필요해요 8
조회 318