Воспроизведение AAC в SoundManager2 не запускается

Я преобразовал аудиофайл MP4 в AAC, а затем хочу воспроизвести этот файл в SoundManager2. Если я использую какое-то программное обеспечение для Windows для преобразования, все в порядке, звук воспроизводится хорошо. Но на стороне сервера, когда файл MP4 конвертируется в AAC с помощью ffmpeg, файл загружается в SM2, но воспроизведение не начинается.

Я использую эту команду:

ffmpeg -i in.mp4 out.aac

Вот лог SoundManager2:

-- SoundManager 2: HTML5 support tests (/^(probably|maybe)$/i): mp3: true (preferring flash), mp4: true (preferring flash), ogg: true, wav: true -- soundmanager2.js:1156
-- SoundManager 2 V2.97a.20120916 (AS3/Flash 9) + HTML5 audio, high performance mode, custom (1ms) polling, wmode: transparent, flash debug mode, flashBlock mode -- soundmanager2.js:1156
soundManager::createMovie(): Trying to load /soundmanager/swf/soundmanager2_flash9_debug.swf soundmanager2.js:1156
soundManager::initMovie(): Waiting for ExternalInterface call from Flash... soundmanager2.js:1158
soundManager::externalInterfaceOK() (~0 ms) soundmanager2.js:1158
soundManager::init() soundmanager2.js:1158
soundManager: Attempting JS to Flash call... soundmanager2.js:1158
(Flash): SM2 SWF V2.97a.20120916 (AS3/Flash 9) soundmanager2.js:1158
Flash security sandbox type: remote soundmanager2.js:1158
(Flash): JS to/from Flash OK soundmanager2.js:1158
(Flash): Enabling polling, 1 ms interval soundmanager2.js:1158
-- SoundManager 2 loaded (OK) -- soundmanager2.js:1156
soundManager: Firing 1 onready() item soundmanager2.js:1158
threeSixtyPlayer.init() soundmanager2.js:1158
threeSixtyPlayer.init(): Found 1 relevant items. soundmanager2.js:1158
handleClick() soundmanager2.js:1158
soundManager.createSound(): ui360Sound0 (http://[private url]/out.aac?v=1350309261) soundmanager2.js:1156
soundManager.createSound(): Enabling usePolicyFile for data access soundmanager2.js:1158
SMSound() merged options: {
 id: ui360Sound0, 
 url: http://[private url]/out.aac?v=1350309261, 
 onplay: { pl.removeClass(this._360data.oUIBox,this._360data.className); t... }, 
 onstop: { pl.removeClass(this._360data.oUIBox,this._360data.className); t... }, 
 onpause: { pl.removeClass(this._360data.oUIBox,this._360data.className); t... }, 
 onresume: { pl.removeClass(this._360data.oUIBox,this._360data.className); t... }, 
 onfinish: { var nextLink; pl.removeClass(this._360data.oUIBox,this._360data... }, 
 onbufferchange: { if (this.isBuffering) { pl.addClass(this._360data.oUIBox,pl.css... }, 
 whileloading: { if (this.paused) { self.updatePlaying.apply(this); } }... }, 
 whileplaying: { self.updatePlaying.apply(this); this._360data.fps++; }... }, 
 useWaveformData: false, 
 useEQData: false, 
 usePeakData: true, 
 autoLoad: false, 
 autoPlay: false, 
 loops: 1, 
 multiShot: true, 
 multiShotEvents: false, 
 pan: 0, 
 stream: true, 
 usePolicyFile: true, 
 volume: 50, 
 useMovieStar: false, 
 isMovieStar: false, 
 bufferTime: 3
} soundmanager2.js:1158
(Flash): SoundManager2_SMSound_AS3: Got duration: 0, autoPlay: false soundmanager2.js:1158
SMSound.play(): Attempting to load "ui360Sound0" soundmanager2.js:1156
SMSound.load(): http://[private url]/out.aac?v=1350309261 soundmanager2.js:1156
SMSound.play(): "ui360Sound0" is starting to play soundmanager2.js:1158
fanOut: ui360Sound0: http://[private url]/out.aac?v=1350309261 soundmanager2.js:1158
(Flash): start (ui360Sound0): 0 soundmanager2.js:1158
SMSound._onbufferchange(): 1 soundmanager2.js:1158
SMSound._onbufferchange(): 0 soundmanager2.js:1158
SMSound._onload(): "ui360Sound0" loaded. 

В чем может быть проблема?


person sasa    schedule 15.10.2012    source источник
comment
Какую версию ffmpeg вы используете? ffmpeg -version И в какой операционной системе вы его используете?   -  person Eric Leschinski    schedule 15.10.2012
comment
ffmpeg 0.8.1-4:0.8.1-0ubuntu1   -  person sasa    schedule 15.10.2012
comment
Вы пытались использовать VLC для открытия/воспроизведения файлов .mp4 и .aac? Возможно, проблема в SoundManager2. Идентичен ли размер файла .AAC при его создании в Windows и Ubuntu?   -  person Eric Leschinski    schedule 15.10.2012
comment
Да, играет хорошо, но AAC поддерживается SoundManager2. Кроме того, SM2 воспроизводит файлы, закодированные с помощью этого программного обеспечения для Windows (Freemake Audio Converter).   -  person sasa    schedule 15.10.2012
comment
Не могу помочь, если у нас нет полного журнала вывода ffmpeg   -  person av501    schedule 16.10.2012


Ответы (1)


Только SoundManager (полностью) поддерживает звук MPEG-4 AAC. Файл, который вы пытаетесь воспроизвести, может быть несовместимой с предыдущими версиями AAC, определенной в MPEG-2 Часть 7:

Часть 7 (ISO/IEC 13818-7) стандарт MPEG-2 определяет совершенно другой аудиоформат, не совместимый с предыдущими версиями (также известный как MPEG-2 NBC). Часть 7 называется MPEG-2 AAC.

Насколько я знаю, эти файлы воспроизводит только Safari (QuickTime). Ни Chrome, ни Flash не будут воспроизводить эти файлы. Однако тип MIME для файлов MPEG-2 AAC такой же, как и для варианта MPEG-4, поэтому почти невозможно узнать, что файл не воспроизводится, пока вы не попытаетесь воспроизвести его. (Когда его спросили, MPEG-LA ответил: «Потому что пошел на хуй, вот почему».)

person idbehold    schedule 27.11.2012