#author("2020-06-21T18:06:14+09:00","default:nobuoki","nobuoki") * rfriends で録音した m4a ファイルを ffmpeg で mp3 に変換するあれこれ [#j6b9ac38] ラジコプレミアムユーザーの私は rfriends という録音ツールを永いこと愛用させてもらってます - [[rfriendsでラジオ録音>https://rfriends.hatenablog.com/]] ←作者に感謝 デフォルトで m4a 形式で保存してくれるので、そこから様々な機器や用途(倍速再生とかとか)に合わせて ffmpeg でファイル変換するのが好みです ** 普通に mp3 変換する(とワーニングが出るので消す) [#l9af4415] ffmpeg -i 旅ラジ_20200530.m4a 旅ラジ_20200530.jpg これでも全く問題無いですが、ワーニングが出ます #pre{{{ ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 10 (GCC) (略) Stream mapping: Stream #0:1 -> #0:0 (mjpeg (native) -> png (native)) Stream #0:0 -> #0:1 (aac (native) -> mp3 (libmp3lame)) Press [q] to stop, [?] for help [swscaler @ 0x5650834f3080] deprecated pixel format used, make sure you did set range correctly ★ココ [mp3 @ 0x5650833bd740] Frame rate very high for a muxer not efficiently supporting it. ★ココ Please consider specifying a lower framerate, a different muxer or -vsync 2 ★ココ Output #0, mp3, to '旅ラジ_20200530.mp3': Metadata: major_brand : M4A minor_version : 512 compatible_brands: isomiso2 TIT2 : 旅ラジ-出発進行!_20200530_0530 TPE1 : 茅野正昌 TPE2 : RKB TALB : 旅ラジ-出発進行! comment : multi:旅ラジ-出発進行 TCON : timefree TDRC : 2020-05-30 TRCK : 22 TSSE : Lavf58.29.100 Stream #0:0: Video: png, rgb24(progressive), 480x300 [SAR 1:1 DAR 8:5], q=2-31, 200 kb/s, 90k fps, 90k tbn, 90k tbc (attached pic) }}} ワーニングを消すには -vsync 2 を追加します ffmpeg -i 旅ラジ_20200530.m4a -vsync 2 旅ラジ_20200530.jpg ** アートワークを jpeg 形式に変換する [#r229f71c] 上記で変換した mp3 ファイルのアートワークは png 形式になっています #pre{{{ $ ffprobe 旅ラジ_20200530.mp3 ffprobe version 4.2.2 Copyright (c) 2007-2019 the FFmpeg developers built with gcc 10 (GCC) (略) Duration: 00:15:00.05, start: 0.023021, bitrate: 129 kb/s Stream #0:0: Audio: mp3, 48000 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc58.54 Stream #0:1: Video: png, rgb24(pc), 480x300 [SAR 1:1 DAR 8:5], 90k tbr, 90k tbn, 90k tbc (attached pic) ★ココ Metadata: comment : Other }}} アプリケーションによっては jpeg 形式でないと都合が悪いものもあるようで、そんなときは -c:v mjpeg オプションを追加します ffmpeg -i 旅ラジ_20200530.m4a -vsync 2 -c:v mjpeg 旅ラジ_20200530.mp3 変換後のファイルを ffprobe で見てみると #pre{{{ (略) Duration: 00:15:00.05, start: 0.023021, bitrate: 128 kb/s Stream #0:0: Audio: mp3, 48000 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc58.54 Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 480x300 [SAR 96:96 DAR 8:5], 90k tbr, 90k tbn, 90k tbc (attached pic) ★ココ Metadata: comment : Other }}} mp3tag で見るとこうです #ref(tabi-01.png) ** 音声トラックのみを取り出す [#s7066a04] map で音声トラックのみを変換対象に指定します 画像を含まない(変換しない)ので -vsync 2 や -c:v mjpeg オプションは不要です ffmpeg -i 旅ラジ_20200530.m4a -map 0:0 旅ラジ_20200530.mp3 ファイルサイズを小さくしたい場合には良いかもしれません ** 旅ラジって何? [#d7047bda] RKBラジオ(福岡)の鉄道をテーマにした15分番組です - [[******茅野 正昌******>https://rkb.jp/announcers/archives/2209/]] - [[旅ラジ 出発進行! - Wikipedia>https://ja.wikipedia.org/wiki/%E6%97%85%E3%83%A9%E3%82%B8_%E5%87%BA%E7%99%BA%E9%80%B2%E8%A1%8C!]] 県外のかたはラジコプレミアムでお楽しみ下さい ** 動作確認した環境 [#l0f8ebe8] fedora 32 です #pre{{{ $ uname -a; ffmpeg -version | head -n1 Linux e130 5.6.13-300.fc32.x86_64 #1 SMP Thu May 14 22:51:37 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers }}}