TypeScript를 통한 애니메이션, 사운드 포맷 변환(fluent-ffmpeg)
13248 단어 DockerNode.jsTypeScripttech
개시하다
쓸것
ffmpeg
fluent-ffmpeg
ffmpeg의 node.js용 라이브러리입니다.JavaScript/TypeScript를 통해 애니메이션 및 사운드 변환
이루어지다
TypeScript
変換完了
// main.ts
import ffmpeg from 'fluent-ffmpeg';
async function fixMedia(
input_file: string,
output_file: string
) {
// input_fileを読み込んでoutput_fileを生成する
const converted = await ffmpeg(input_file)
.on('end', () => {
console.log(`変換完了`);
}).save(output_file);
}
fixMedia();
ffmpeg
의 방법체인save
에서 전환하기 전에 전환용 방법을 삽입하여 영상과 소리를 희망적인 형식으로 전환할 수 있다// 動画サイズを1980x1080、コーデックをH.264にする例
ffmpeg("input.mp4")
.size("1980x1080")
.videoCodec('libx264')
.on('end', () => {
console.log(`変換完了`);
}).save("output.mp4");
// 動画のフレームレートを30fps,音声ビットレートを192kbpsにする例
ffmpeg("input.mp4")
.fps(30.0)
.audioBitrate(192)
.on('end', () => {
console.log(`変換完了`);
}).save("output.mp4");
// wav音声ファイルをmp3にする例
ffmpeg("input.wav")
.toFormat('mp3')
.on('end', () => {
console.log(`変換完了`);
}).save("output.mp3");
환경을 구축하고 동원하다
TypeScript/Node.연관
다음 설치
使うもの
에 설명된 라이브러리 npm install fluent-ffmpeg @types/fluent-ffmpeg typescript ts-node
자세한 내용은 여기. 등
{
"compilerOptions": {
"esModuleInterop": true
}
}
Docker 관련
재현성을 위해 Docker 컨테이너에 설치
# Dockerfile
FROM node:16-buster
WORKDIR /app
COPY . .
RUN apt update
RUN apt -y upgrade
RUN apt install -y ffmpeg
CMD [ "node_modules/.bin/ts-node","main.ts"]
# docker-compose.yml
version: '3'
services:
app:
build: .
volumes:
- type: bind
source: "./"
target: "/app"
npm install
docker-compose build
docker-compose up
성과물
참고 자료
끝말
누군가에게 참고가 되었으면 좋겠네요
Reference
이 문제에 관하여(TypeScript를 통한 애니메이션, 사운드 포맷 변환(fluent-ffmpeg)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/mini_hiori/articles/ts-media-convert텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)