HMplayer Streaming Manual
Version 1.05
HMplayer は、再生中の音声を MP3 にエンコードし、Icecast2 サーバーへ送出できます。 通常のスピーカー再生と配信処理は分離されており、スピーカー音量と配信用 Gain は独立しています。
1. 配信機能の概要
主な機能:
- Icecast2 への MP3 配信
- 最大 3 接続まで同時配信
- 接続ごとのビットレート設定
- 曲情報のメタデータ送信
- Streaming Format のカスタマイズ
- Metadata Encoding の選択
- Metadata Delay
- Initial Metadata Sync
- Streaming Gain
- Level Meter
- Transfer Rate 表示
配信音声は現在、MP3 / 44100 Hz / Stereo です。
再生入力はMP3、FLAC、M4A(AAC / ALAC)、WMA、WAVに対応し、Windows Media Foundationでデコードされた音声を既存の共通配信経路へ送ります。
2. Streaming Settings
配信サーバーの登録・編集・接続は Streaming Settings ウィンドウから行います。
UI言語を日本語にするとウィンドウ名や操作ラベルは日本語になりますが、Online、Offline、Connecting、Disconnecting、Error の状態値と、配信メタデータの内容・文字コード・送信処理は変わりません。
一覧表示:
- Name
- Status
- Server Address
- Port
- Mountpoint
操作:
- Add
- Edit
- Delete
- Connect
- Disconnect
登録できるサーバー設定は最大 20 件です。 同時に接続できる配信先は最大 3 件です。
3. サーバー設定
Name
HMplayer 内で使用する接続名です。必須・重複不可です。
Bitrate
320 / 256 / 192 / 160 / 128 / 96 / 64 kbps から選択します。 初期値は 128 kbps です。
Server Address
Icecast サーバーのホスト名またはアドレス。必須です。
Port
Icecast 接続ポート。必須です。初期値は 8000 です。
User
任意です。空欄の場合、HMplayer は User 情報を送信しません。 サーバーによっては source 等が必要です。
Password
Icecast Source Password。必須です。
Mountpoint
必須です。初期値は /hmplayer です。
同じサーバーで既に使用中の Mountpoint へ接続すると、接続できない場合があります。
Stream Name / Description / URL / Genre
すべて任意です。空欄の場合、その項目は送信しません。
Stream Nameは任意の名前を付ける事を推奨します。
文字化け対策のためアスキー文字の使用を推奨します。
4. 固定配信形式
現在は以下で固定です。
Sample Rate : 44100 Hz
Channels : 2
Encode Type : MP3
Server Type : Icecast2
5. 接続と切断
設定を選択して Connect を押します。
Status:
Offline
Connecting
Online
Disconnecting
Error
Online になれば配信中です。
切断する場合は対象を選択して Disconnect を押します。
HMplayer 起動時に自動接続は行いません。
接続中の設定は Edit / Delete できません。
6. 複数サーバーへの同時配信
最大 3 接続まで同時配信できます。
各接続には独立した MP3 Encoder と送信処理があり、接続ごとに異なる Bitrate を設定できます。
1 接続でエラーが発生しても、他の接続は独立して動作します。
7. Monitor Window
Monitor Window 上部には最大 3 接続の Name / Status が表示されます。
- Online: 緑
- Error: 赤
Field / Value 一覧上部には Online 接続の Transfer Rate が表示されます。
Transfer Rate は設定 Bitrate そのものではなく、実際の送信データ量から計算されます。
8. Streaming Format
設定場所:
Settings
└─ Metadata Format
└─ Streaming
Streaming Format は既存 Format Engine を使用します。
代表的な項目:
%title%
%artist%
%album%
%comment%
%filename%
Display / EXTINF と同じ書式を利用できますが、Streaming は配信メタデータ専用です。
9. Metadata Encoding
Streaming Settings 上部から選択します。
UTF-8
Shift_JIS
初期値は UTF-8 です。
通常は UTF-8 の使用を推奨します。
UTF-8 は現在の Web / Icecast 周辺環境で最も扱いやすく、特に理由がなければ UTF-8 のまま使用してください。
Shift_JIS は、接続先や後段システムが Shift_JIS を前提としている場合の互換用です。
接続中は Metadata Encoding を変更できません。 変更する場合は、すべての配信接続を切断してください。
10. Metadata Delay
設定範囲:
0 ~ 99 sec
初期値は 0 sec です。
Metadata Delay は音声を遅らせません。メタデータだけを遅らせます。
例:
曲変更
↓
音声はすぐ配信
↓
指定秒数待機
↓
新しい曲情報を送信
Delay 値は曲が切り替わった瞬間の設定値を使用します。 曲の途中で変更しても、すでに予約済みの送信時刻は変わりません。
Delay 待機中に次の曲へ進んだ場合、前の曲の未送信メタデータはキャンセルされます。
11. Initial Metadata Sync
曲を再生中または一時停止中に新しいサーバーが Online になった場合、その接続だけへ現在の曲情報をすぐ送信します。
この Initial Metadata Sync では Metadata Delay を使用しません。
- Playing: 送信
- Paused: 送信
- Stopped: 送信しない
- 曲なし: 送信しない
すでに Online の別サーバーへ再送信は行いません。
12. Streaming Gain
Level Meter Window の Gain で配信用音声レベルを変更できます。
範囲: -20.0 dB ~ +6.0 dB
単位: 0.5 dB
初期値: +0.0 dB
配信中でも変更可能で、再接続は不要です。
メインウィンドウの Volume はスピーカー再生用、Gain は配信用で、互いに独立しています。
13. Level Meter
Level Meter Window には L / R の音声レベルが表示されます。
表示範囲:
-60 dBFS ~ 0 dBFS
目安:
-60 ~ -12 dBFS : Green
-12 ~ -3 dBFS : Yellow
-3 ~ 0 dBFS : Red
非配信中と配信中で表示基準が異なります
Level Meter は、配信中かどうかによって計測する信号位置が変わります。
- 非配信中
Level Meter を表示している場合は、Streaming Gain がまだ適用されていないデコード済みPCMのレベルを表示します。 - 配信中
Level Meter は、Streaming Gain 適用後の配信用PCMを計測して表示します。
このため、同じ曲を再生していても、Gain が 0 dB 以外の場合は、配信開始前と配信開始後で Meter の表示レベルが変わることがあります。
リソース使用について
HMplayer は不要な処理を避けるため、状態に応じて Meter 関連処理を停止します。
Pause / Stop 時には Meter は -60 dBFS へ戻ります。
14. 配信音声の処理経路
配信中の処理経路は以下です。
Decoded Audio
├─ Speaker Output
│
└─ Streaming
↓
Gain
↓
Level Meter
↓
PCM Conversion
↓
MP3 Encoder
↓
Icecast
スピーカー Volume は配信音声へ影響しません。
非配信中に Level Meter だけを表示している場合は、Streaming 側の PCM変換 / Gain / MP3 Encode は動作せず、デコード済みPCMから直接Meter用レベルを取得します。
15. Mountpoint の競合
Icecast は配信元を Mountpoint で管理します。
同じ Mountpoint に別 Source が既に接続している場合、HMplayer から接続できない場合があります。
実サーバーでテストする場合は、既存配信を妨げないよう未使用のテスト用 Mountpoint を使用してください。
例:
/hmplayer-test
16. Status が Error になる場合
以下を確認してください。
- Server Address
- Port
- Password
- 必要な場合は User
- Mountpoint
- 同じ Mountpoint が使用中でないか
- Icecast Server が起動しているか
- Firewall / Network で遮断されていないか
設定を変更する場合は一度 Disconnect してください。
17. メタデータが正しく表示されない場合
以下を確認してください。
- Streaming Format
- Metadata Encoding
- Metadata Delay
- 音源ファイルのタグ情報
まず UTF-8 を使用することを推奨します。
日本語が文字化けする場合や、接続先システムが Shift_JIS を要求する場合にのみ Shift_JIS を試してください。
Metadata Encoding を変更する場合は、一度すべての接続を切断する必要があります。
18. 設定保存
配信設定は HMplayer の設定ファイルへ保存されます。
%LOCALAPPDATA%\HMplayer
接続状態は保存されません。再起動時はすべて Offline です。
配信サーバーの Password はローカル設定ファイルに平文で保存されます。 共有 PC などでは設定ファイルの取り扱いに注意してください。
19. 初回接続テストの推奨手順
- Icecast 側で未使用の Mountpoint を用意
- HMplayer にサーバー設定を登録
- Metadata Encoding はまず UTF-8 を選択
- まず 1 接続だけで試す
- Bitrate は 128 kbps 程度から開始
- 音楽を再生
- Connect
- Status が Online になることを確認
- 受信側で音声を確認
- Transfer Rate を確認
- 曲変更して Metadata を確認
- Disconnect
正常動作確認後、必要に応じて 2~3 接続へ増やしてください。
20. 注意事項
HMplayer は Icecast サーバーそのものではありません。 既存の Icecast2 サーバーへ Source として接続し、音声を送出します。
HMplayerには、再生中Playlistの終了予定時刻を算出するPlayer機能があります。この時刻はPlaylistに記録されているDurationを使用して計算されます。存在しない音源ファイルでもDurationが記録されている場合は計算に含まれますが、実際の再生時にはそのトラックがスキップされるため、実終了時刻が予測より早くなる場合があります。再生できなかったトラックはPlaylist上でファイル名表示になり、再生時間は非表示になりますが、保持されているDurationは終了時刻の算出に使用される場合があります。この終了時刻は音声再生の終了予定時刻であり、Icecast接続の終了時刻ではありません。詳細はPlayer Manualの「Playlistの終了時刻を算出する」を参照してください。
21. Online Manual
https://app2026kak.netlify.app/hmplayer/manual
プレイヤー機能については Player Manual を参照してください。
HMplayer Version 1.05