rfriends で録音した m4a ファイルを ffmpeg で mp3 に変換するあれこれ

ラジコプレミアムユーザーの私は rfriends という録音ツールを永いこと愛用させてもらってます

デフォルトで m4a 形式で保存してくれるので、そこから様々な機器や用途(倍速再生とかとか)に合わせて ffmpeg でファイル変換するのが好みです

普通に mp3 変換する(とワーニングが出るので消す)

 ffmpeg -i 旅ラジ_20200530.m4a 旅ラジ_20200530.jpg

これでも全く問題無いですが、ワーニングが出ます

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 形式に変換する

上記で変換した mp3 ファイルのアートワークは png 形式になっています

$ 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 で見てみると

(略)
  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 で見るとこうです

tabi-01.png

音声トラックのみを取り出す

map で音声トラックのみを変換対象に指定します
画像を含まない(変換しない)ので -vsync 2 や -c:v mjpeg オプションは不要です

 ffmpeg -i 旅ラジ_20200530.m4a -map 0:0 旅ラジ_20200530.mp3

ファイルサイズを小さくしたい場合には良いかもしれません

参考情報

旅ラジって何?

RKBラジオ(福岡)の鉄道をテーマにした15分番組です

県外のかたは、めちゃめちゃ感度の良いアンテナを使うか、ラジコプレミアムでお楽しみ頂くのが良いと思います

動作確認した環境

fedora 32 です

$ 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

添付ファイル: filetabi-01.png 689件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-06-21 (日) 18:10:17