#author("2023-04-17T20:52:57+09:00","default:nobuoki","nobuoki") #author("2023-04-17T20:57:58+09:00","default:nobuoki","nobuoki") * 前提 [#c7e1ec6d] - alsaをインストール - プレーヤーをインストール - 音を鳴らしたいユーザーを audio グループに追加 #prism(bash){{{ # alsaをインストール $ sudo apt -y install alsa alsa-utils (略) # プレーヤーをインストール $ sudo apt -y install ffmpeg mpv (略) # 音を鳴らしたいユーザーを audio グループに追加 $ sudo usermod -aG audio $USER # グループを反映させるため、一旦ログアウト $ exit }}} * ffmpeg の場合 [#p1c400e2] 基本形 >> ffmpeg -i 入力ファイル/URL -f alsa alsaデバイス名 #prism(bash){{{ $ ffmpeg -i 入力ファイル/URL -f alsa alsaデバイス名 }}} alsaデバイス名の取得(高確率で再生に使えそうなものだけフィルタリング) #prism(bash){{{ $ aplay -L | awk -F'[:,]' '/CARD=/&& !a[$2]++' hw:CARD=PCH,DEV=3 hw:CARD=Device,DEV=0 hw:CARD=Loopback,DEV=0 }}} 再生例 #prism(bash){{{ $ ffmpeg -i VSQSE_0407_Japanese_thunder_01.mp3 -f alsa hw:CARD=PCH,DEV=3 }}} * ffplay の場合 [#xb9ca207] SDL_AUDIODRIVER="alsa" AUDIODEV="hw:CARD=PCH,DEV=3" ffplay -nodisp VSQSE_0407_Japanese_thunder_01.mp3 基本形 - 環境変数でドライバーを指定 - 映像出力が不要なので -nodisp を指定 #prism(bash){{{ $ SDL_AUDIODRIVER="alsa" AUDIODEV="alsaデバイス名" ffplay -nodisp 入力ファイル/URL }}} alsaデバイス名の取得 ※ffmpegの場合と同一 #prism(bash){{{ $ aplay -L | awk -F'[:,]' '/CARD=/&& !a[$2]++' hw:CARD=PCH,DEV=3 hw:CARD=Device,DEV=0 hw:CARD=Loopback,DEV=0 }}} 再生例 #prism(bash){{{ $ SDL_AUDIODRIVER="alsa" AUDIODEV="hw:CARD=PCH,DEV=3" ffplay -nodisp VSQSE_0407_Japanese_thunder_01.mp3 }}} * mpv の場合 [#e3a08ed1] 基本形 #prism(bash){{{ $ mpv --audio-device=alsaデバイス名 入力ファイル/URL }}} alsaデバイス名の取得 #prism(bash){{{ $ mpv --audio-device=help | awk -F'[ :,]+' '/alsa\/plughw:/ && !a[$3]++' 'alsa/plughw:CARD=PCH,DEV=3' (HDA Intel PCH, HDMI 0/Hardware device with all software conversions) 'alsa/plughw:CARD=Device,DEV=0' (USB Audio Device, USB Audio/Hardware device with all software conversions) 'alsa/plughw:CARD=Loopback,DEV=0' (Loopback, Loopback PCM/Hardware device with all software conversions) }}} mpv --audio-device=alsa/plughw:CARD=PCH,DEV=3 VSQSE_0407_Japanese_thunder_01.mp3 再生例 #prism(bash){{{ $ mpv --audio-device=alsa/plughw:CARD=PCH,DEV=3 VSQSE_0407_Japanese_thunder_01.mp3 }}}