2013-08-03 7 views
2

나는 슬로우 모션 비디오에 대해 오디오와 함께 슬로우 모션을 수행하려고합니다. 내 경우, 나는 가 점차 둔화하고 "선형 슬로우 모션"을 포물선 같은 을 가속화하지 ( 슬로우 모션을 램핑 할 필요가오디오/비디오 문제 슬로우 모션

참조 :. 선형 슬로우 모션 :

enter image description here

참조 : 경 슬로우 모션 :

enter image description here

내가 지금까지 무엇을했는지 : 처음 세 개의 총알 비디오 파일에서

  1. , 분리 된 오디오 및 비디오에 대한 AVFoundation을 사용

    .

  2. AVFoundation API (scaletimeRange)을 사용하여 비디오의 슬로우 모션을 수행했는데 제대로 작동합니다.

  3. 동일하지 않음음성입니다. 사과 API 자체에 버그가있는 것 같습니다 (버그 ID : 14616144). 관련 질문은

  4. scaleTimeRange has no effect on audio type AVMutableCompositionTrack 그래서 내가 디랙을 전환합니다. 나중에 제한 Dirac의 오픈 소스 에디션은 동적 시간 스트레칭을 지원하지 않습니다.

  5. 마지막으로 으로 답하려고합니다. OpenAL.

Apple 개발자 포럼에서 샘플 OpenAL 프로그램을 가져 와서 실행했습니다. 여기

내 질문이 있습니다 :

  1. 수 있습니까 저장/를 OpenAL에서 처리 된 오디오를 저장의 직접 불가능 "를 OpenAL"로가이 함께 할 수있는 경우 AVFoundation +를 OpenAL?

  2. 매우 중요하게는 OpenAL을 사용하여 슬로우 모션 또는 타임 스케일을 늘리는 방법은 무엇입니까? 스트레칭 시간을 알고 있다면 슬로프 슬로프 모션에 로직을 적용 할 수 있습니다.

  3. 다른 방법이 있습니까?

답변

1

나는 실제로 1이나 2로 말할 수는 없지만 오디오를 시간 재조정하는 것은 리샘플링만큼 쉽습니다. 48 kHz로 샘플링 된 RAW/PCM 오디오가 있고 절반 속도로 재생하려면 96 kHz로 다시 샘플링 한 다음 48 kHz로 오디오를 재생하십시오. 샘플 수가 두 배이기 때문에 연주하는 데 두 배나 오래 걸릴 것입니다. 일반적으로 :

scaledSampleRate = (orignalSampleRate/playRate); 

또는

playRate = (originalSampleRate/scaledSampleRate); 

이는 행동이 다소 "슬로우 모션"오디오에 예상되는 때문에 원하는 효과를 할 수 있지만, 트랙의 피치에 영향을 것입니다. 스케일링 시간 동안 피치를 유지하는 고급 기술이 있습니다. 오픈 소스 소프트웨어 Audacity는 이러한 알고리즘을 구현합니다. 거기에서 영감을 얻을 수 있습니다. 웹에는 피치 쉬프트와 시간 스트레칭의 절충점을 설명하는 많은 리소스가 있습니다. http://en.wikipedia.org/wiki/Audio_time-scale/pitch_modification
  • http://www.dspdimension.com/admin/time-pitch-overview/
  • 당신이 슬로우 모션 동안 오디오를 음소거되어 고려하지 수있는 또 다른 옵션

    • . 이는 대부분의 AV 재생 유틸리티에서 사용되는 기법 인 것 같습니다. 그러나 유스 케이스에 따라 왜곡 된 오디오는 시간이 조작되고 있음을 나타냅니다.