wasm
-
[golang] WebAssembly 빌드시 expected magic word 00 61 73 6dETC 2024. 8. 23. 22:29
go 공식 웹 어셈블리 wiki 문서(https://go.dev/wiki/WebAssembly)에서 실행시 magic word 00 61 73 6d 가 나올 경우,windows 파워쉘 환경에서 하고 있다면 GOOS, GOARCH 변수설정을 잘못한 것일 가능성이 있다.$ GOOS=js GOARCH=wasm go build -o main.wasm 위 명령어를 아래와 같이 수행.$env:GOOS="js"$env:GOARCH="wasm"go build -o main.wasm main.go
-
[WASM] WSL-Ubuntu에 emscripten 설치ETC 2021. 11. 15. 00:27
emsscripten 은 c, c++로 작성한 소스코드를 최신 web browser에서 사용할 수 있는 wasm 형식으로 build/porting 해주는 도구이다. 해당 사이트에 접속하면 설치 방법 및 튜토리얼이 있는데 막히는 점이 있어 정리할 겸 작성한다. 아래 방법은 Windows WSL - Ubuntu 20.04를 기준으로 진행하였다. 1. emsdk 다운로드 git 명령어로 emsdk 소스를 다운로드 받은 후 해당 경로로 이동한다. WSL - Ubuntu 20.04의 경우 git 명령어가 기본 설치되어 있다. 만약 없을 경우 설치하기 바란다. # Get the emsdk repo git clone https://github.com/emscripten-core/emsdk.git # Enter tha..
-
[React] ffmpeg.wasm 메모리 누수 문제 해결Javascript & TypeScript 2021. 5. 8. 16:11
몇칠 전 ffmpeg.wasm 패키지를 소개했던 적이 있다. (ddochea.tistory.com/147) 웹 클라이언트만으로 미디어 파일에 대한 인코딩/디코딩 기술을 사용할 수 있다는 장점과 함께, memory leak이 발생하고 있는 이슈가 있어, 실제 서비스 개발에 도입하기엔 무리가 있을 것 같다고 했었다. 그리고 나서 오늘 좀 더 확인해보는 시간을 가졌는데, thread 관련 문제가 있는건 맞지만, 메모리 부분은 내가 코딩을 잘못해서 생긴 것을 깨닫게 되었다. 이 문제는 내가 만든 예제 뿐만 아니라, 공식사이트에 소개하고 있는 React 예제도 같은 문제가 있다. 아래 코드 공식사이트 예제 코드이다. import React, { useState } from 'react'; import { crea..
-
[Javascript] 브라우저에서 사용하는 인코딩 및 디코딩 패키지 ffmpeg.wasm 소개Javascript & TypeScript 2021. 5. 5. 18:10
미디어파일을 인코딩/디코딩 하는 작업을 구현하는 프로그래머라면 ffmpeg란 오픈소스 툴을 들어본적이 있을 것이다. 카카오 팟플레이어 곰플레이어 등, 상당수의 미디어 플레이어나 인코딩 프로그램에 직/간접적으로 사용되는만큼 파급력이 높다. CLI 명령어 기반이라 이를 편히 사용할 수 있는 UI 기반 툴도 많이 나와있다. 그러나 특성상 웹에서 사용은 어려웠다. 물론 호스팅을 통해 미디어파일을 인코딩/디코딩 서비스를 제공하는 웹사이트도 심심찮게 볼 수 있었겠지만, 어디까지나 내 미디어파일이 웹서버에 업로드되어 처리한 후, 결과를 내려받는 형식이기 때문에 함부로 이용하면 소중한 지적재산권(?)을 내 손으로 넘겨주는 꼴이 될 수 있다. 이와 같은 불상사를 방지할 수 있는 패키지. ffmpeg.wasm를 소개한다...