2013年4月11日 星期四

FFMPEG --  在 iOS 設備上播放 AAC 音樂

使用 FFMPEG 顯示影像的功能已經完成,接著便是要進行播放音樂的工作了,此處我選擇播放的音樂檔案為 AAC 格式。以下介紹整個實作流程。

一、AAC 格式

參考維基百科,AAC 共有以下七種格式
  • audio/aac, 
  • audio/aacp, 
  • audio/3gpp, 
  • audio/3gpp2, 
  • audio/mp4, 
  • audio/MP4A-LATM, 
  • audio/mpeg4-generic

2013年4月10日 星期三

ONVIF -- Motion Detection



ONVIF 規範支援 Motion Detection,並且在兩個規範書內分別加以定義。

  • ONVIF-Imaging-Service-Spec-v221.pdf
  • "tns1:VideoSource/tns1:MotionAlarm"
  • ONVIF-VideoAnalytics-Service-Spec-v221.pdf
  • "tns1:VideoAnalytics/tns1:MotionDetection"

FFMPEG -- AAC 轉換為 WAV


最近撰寫程式,使用 ffmpeg 將 AAC檔案 轉為 WAV檔案,在實作過程中發現轉換後的聲音品質很差。
主要是因為ffmpeg解開AAC之後的格式與預期不同,因此需要做 resample 的動作。

造成問題原因:
ffmpeg 會將 AAC 解成 AV_SAMPLE_FMT_FLTP 格式 (32bits per sample)
但是製作 PCM 時所需要用的是 AV_SAMPLE_FMT_S16 格式 (16bits per sample),因此需要進行轉換

2013年4月6日 星期六

FFMPEG -- iPhone下的效能優化

近期需要使用 FFMPEG 在 iOS 設備下,因此對其效能優化作一討論。我的測試資料如下:
  • FFMPEG 版本為 Jan 27, 2013 
  • 測試程式使用 iFrameExtractor
  • 測試檔案使用的檔案為 http://mm2.pcslab.com/mm/7h800.mp4 (H.264 800kbs)
  • 測試設備為 iPad2

主要優化的目標是減少下列兩個行為的執行時間
  • Decode Frame
  • Scale and Render