태그 필터

16시간 전 · 백재욱 님의 질문

백엔드 테스트 와 머신러닝 테스트가 따로 하면 잘되는데 같이 하면 오류가 발생합니다.

저희 프로젝트의 기본적인 골자는 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

조회 13

하루 전 · 이승훈 님의 질문

프론트엔드에서 업로드 동영상 된 프레임(fps) 정보 확인하는 법 있나요?

동영상 업로드 후 동영상 이동 버튼에 프레임 단위로 이동하는 버튼을 만들고자 합니다. 그래서 동영상 업로드 이후 24fps 29.97fps 이렇게 추출해서 1/24 1/29.97 이동 버튼으로 1프레임 단위씩 이동하는 것이 목표입니다. 지금 생각 중인 방법은 3가지 입니다. 1. FFmpeg.js 으로 프론트엔드에서 처리 하는 방법 2. 동영상을 백엔드 서버에 전송 후 백엔드 서버에서 로직 처리 후 정확한 값(fps) 요청해서 받아 오는 방법 3. js코드 근사치에 가까운 값 추출해서 사용하기 (정확도 너무 낮습니다. 24fps 인데 추출 결과 10fps, 29.97fps의 경우 17fps)

#react

답변 0

댓글 0

조회 14