ネットラジオを通勤で聞いてみるで、ストリーミングをダウンロードして、それを通勤で聞く事には成功。
でも、ほかのストリーミングだと「動画」だったりして、ファイルサイズがでかい上に意味もなくプレーヤーの電池も消費する。あまりうれしくない状況。しかも、動画とはいえ、出ている映像は番組名だけだったり、喋っている場所がひたすら垂れ流されているだけで情報としては不要だったりもする。これ。どうにかならんかな?
しかも、mp4形式の動画だと、iTunesで管理できなかったりとかの問題もあって面倒…
動画から音声だけ取り出す
動画から音声だけの取り出しは色々な方法がありますが、せっかくLibAVをダウンロードしてavconv.exeを使ったので、それを使ってストリップします。
方法は簡単で、FLVからM4Aに返還した時とほぼ同じ。ちょっとオプションを付けただけ。
C:\>avconv.exe -i input.mp4 -vn -acodec copy output.m4a avconv version v11.7, Copyright (c) 2000-2016 the Libav developers built on Jun 1 2016 09:59:57 with gcc 4.8.3 (Gentoo 4.8.3 p1.1, pie-0.5.9) [mov,mp4,m4a,3gp,3g2,mj2 @ 029a95e0] multiple edit list entries, a/v desync might occur, patch welcome Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 title : うだうだムービー album : ほげほげ encoder : Lavf58.20.100 Duration: 00:57:30.14, start: 0.000000, bitrate: 155 kb/s Stream #0.0(und): Video: h264 (High), yuv420p, 320x180 [PAR 1:1 DAR 16:9], 113 kb/s, 10 fps, 10k tbn, 19.98 tbc (default) Stream #0.1(und): Audio: aac, 24000 Hz, stereo, fltp, 39 kb/s (default) [ipod @ 02c6f020] Codec for stream 0 does not use global headers but container format requires global headers Output #0, ipod, to 'output.m4a': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 title : うだうだムービー album : ほげほげ encoder : Lavf56.1.0 Stream #0.0(und): Audio: libvo_aacenc, 24000 Hz, stereo, 39 kb/s (default) Stream mapping: Stream #0:1 -> #0:0 (copy) Press ctrl-c to stop encoding size= 16890kB time=3450.06 bitrate= 40.1kbits/s video:0kB audio:16573kB other streams:0kB global headers:0kB muxing overhead: 1.911197%
と、こんな感じで変換する際に-vnと付けてあげるだけ。-vnは”disable video”という事で、動画を無効にというオプション。まぁ、そのままですね。
実際に、変換などがうまく行ったかどうかに関しては、”-i”オプションを付けて確認。
C:\>avconv.exe -i output.m4a avconv version v11.7, Copyright (c) 2000-2016 the Libav developers built on Jun 1 2016 09:59:57 with gcc 4.8.3 (Gentoo 4.8.3 p1.1, pie-0.5.9) [mov,mp4,m4a,3gp,3g2,mj2 @ 026e4ae0] multiple edit list entries, a/v desync might occur, patch welcome Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.m4a': Metadata: major_brand : M4A minor_version : 512 compatible_brands: isomiso2 title : うだうだムービー album : ほげほげ encoder : Lavf56.1.0 Duration: 00:57:30.07, start: 0.032000, bitrate: 40 kb/s Stream #0.0(und): Audio: aac, 24000 Hz, stereo, fltp, 39 kb/s (default) At least one output file must be specified
major_brand : M4Aとなっていて、ちゃんとm4aとなっているのが確認できます。また、ファイルサイズもかなり小さくなるので、ファイルサイズからの確認でもよさそう。実際、今回サンプルで使用したファイルは60MBだったものが16MBまで小さくなりました。
ポータブルプレーヤーで、ネットラジオ。聞いていると映像を見ないと盛り上がれないこともなくはないけれど、大半は映像は不要な状況。そう考えれば、こういうので容量節約もありかな。