walkman(NW-A35)にradikoや「らじるらじる」のストリーミングデータを転送しようとしたときにハマった話
前提1:再エンコード(re-encode)したくない
当初の手順:
ffmpeg -vn -i input.flv -acodec copy input.aac
- 3.MP4BOXでm4aに以下のように変換
MP4Box -add input.aac input.m4a -new
なぜかこれではうまくいかない。音声の速度とピッチが1/2になっているように感じられる。
これを次に変更
- 3.MP4BOXでm4aに変換するが、以下のように -sbr オプションをつける必要があった
MP4Box -sbr -add input.aac input.m4a -new
これはMp4Bpxのドキュメントによると
Note : MP4Box cannot detect whether AAC input is regular or SBR AAC, so you must use one fo these options if you want to import AAC SBR files.
とある。
要は、MP4BOXはAAC-LCかHE-AACかを判断できない。
よって、HE-AACのときには手動で-sbr オプションが必要。
ちなみに、HE-AACかどうかはMediaInfoなどで確認できる
pythonのスライシングについて([::-1],[low:high:step]などについて)
[low:high:step]: lowからhighまでstepごとに選択
>>> l=[1,2,3,4,5,6,7,8,9] >>> l[4::2] [5, 7, 9] >>> l[4::1] [5, 6, 7, 8, 9] >>> l[4::3] [5, 8] >>> l[::3] [1, 4, 7] >>> l[:-1] [1, 2, 3, 4, 5, 6, 7, 8] >>> l[::-1] [9, 8, 7, 6, 5, 4, 3, 2, 1] >>> l[2:7:2] [3, 5, 7] >>> l[2:8:2] [3, 5, 7] >>> l[2:6:2] [3, 5] >>> l[2:7:3] [3, 6] >>> l[1:7:3] [2, 5] >>> l[1:8:3] [2, 5, 8] >>>