【ニコニコ動画】FLV/MP4エンコードスレ 55【質問】

このエントリーをはてなブックマークに追加
609名無しさん@お腹いっぱい。
>>600-601のneroAacEnc.exeの自動判定処理を追加検証した結果。if分は適当に解釈してくれ。
 ・8bit/16bitは関係ない模様
 ・12000Hz以下はLCになる
 ・16000Hz以上は次の判定
    if (br > (42500*ch)) then LC
    elseif (ch==2 && br<39500) then HEv2
    else HE

調べた範囲でもうちょい書くと以下のような感じ。

 if samplingrate<=12000 then
  AAC=lc
 elseif samplingrate>=16000 then
  if ch==6 then
   if br<255000 then AAC=he else AAC=lc end
  elseif ch==2 then
   if br<39500 then AAC=hev2 elseif br<85000 then AAC=he else AAC=lc end
  elseif ch==1 then
   if br<42500 then AAC=he else AAC=lc end
  else
   1ch、2ch、6chしか調べてないけど十分だよね
  end
 else
  12000Hz<samplingrate<16000Hzの間はエラーになるんじゃないかな
 end
610名無しさん@お腹いっぱい。:2014/08/27(水) 22:06:33.31 ID:QPjPNJgV0
611名無しさん@お腹いっぱい。:2014/08/28(木) 19:01:10.69 ID:c1DWRSA10
>>600-601>>609の続き。

neroAacEnc.exeでは、12000Hz以下は、-lcしか指定できない。-he、-hev2を指定するとエラーになる。
-he、-hev2を指定できるのは16000Hz以上。(ただし、-hev2は2chでしか使えない)

qaac.exeはHEv2が使えない。HEが使えるのは32000Hz以上。
24000Hz以下はLCしか使えない。(qaac.exe --formatsより)

fdkaacは今は手持ちがないので試してない。誰か検証してくれると嬉しいな。