2017-12-29 78 views
1

은 일반 웹 비디오, 예컨대 : HTML5 웹 비디오에서 오디오 파형을 생성하는 방법은 무엇입니까?

<video src="my-video.mp4"></video> 

가 어떻게의 오디오 파형을 생성 할 수를 감안할 때?

비디오를 재생하지 않고 파형을 생성 할 수 있습니까?


참고 :이를 달성하기 위해

  • 내가 사용 가능한 API에 관심이 아니라 "어떻게 캔버스에 파형을 렌더링하는"가이드.
  • 일반 자바 스크립트. 라이브러리가 없습니다.

답변

2

비디오 미디어가 잘 지원되는지 여부는 알 수 없지만 AudioContext.decodeAudioData을 시도해보십시오. 코덱과 브라우저에 많이 달려 있습니다.

나는 FF, 크롬 및 사파리가 mp4 및 mpeg4a 오디오를 사용하여 받아 들인다는 사실에 약간 놀랐다.

작동하는 경우 OfflineAudioContext을 사용하여 가능한 한 빨리 오디오 데이터를 분석하고 파형 데이터를 생성 할 수 있습니다.


의 확장자를 제외한 MP4와 M4A 사이에는 차이가 없습니다 또한 MDN article on Visualizations with Web Audio API

+0

참조 - 그냥 쉽게 내용에 대해 무엇인지 분별하는 (그리고 브라우저가 확장 만에 의존 할 수 없습니다)합니다. – K3N

+0

btw가 있습니다. decodeAudioData가 파형 플로팅에 사용될 수있는 디코딩 된 샘플 버퍼를 전달할 때 offlinecontext가 필요하지 않습니다. – K3N

+0

@ K3N 아니요 오디오 스트림이 mpeg4a로 인코딩 된 비디오 파일을 의미하며 mp4 컨테이너에 캡슐화 된 오디오 파일이 아닙니다. – Kaiido