AWS Elemental MediaConnectにZixiプロトコルで入力するためにZixi Feeder/Receiver for MediaConnectを使ってみた

AWS Elemental MediaConnectにZixiプロトコルで入力するためにZixi Feeder/Receiver for MediaConnectを使ってみた

Zixi Feeder for MediaConnectを使いMediaConnectにZixiプロトコルで映像を伝送してみます。Zixi Customer Portalへの登録やソフトウェアのダウンロード、Linux環境へのインストール方法なども確認しました。
2025.11.30

はじめに

清水です。高品質で信頼性と安全性に優れたライブ動画伝送サービスであるAWS Elemental MediaConnectでは、SourceならびにOutputの双方でZixiプロトコルが利用可能です。2018年11月のリリース当時からSource、Output両方のZixi pushに対応しており、2019年7月のアップデートでOutputのZixi pullに対応したかたちですね。

ところで、筆者はこのMediaConnectのZixiプロトコルについて、設定画面やドキュメントなどで確認したことはあれど、実際に使ったことはありませんでした。理由はシンプルにZixiプロトコルを使うエンコーダなどの機材が準備できなかったからなのですが、MediaConnectのUser Guideを確認しているとZixiに対応していないエンコーダ用にZixi feeder/receiver softwareなるものがあるという記載を発見しました。このソフトウェア、正確には Zixi Feeder/Receiver for MediaConnectという名称のようで、Zixi社のWebサイトからダウンロードが可能です。本エントリではこのZixi Feeder/Receiver for MediaConnectのうち Zixi Feeder for MediaConnect を使い、Zixi pushによるMediaConnectへの映像入力を試してみたのでまとめみます。

検証用途としてEC2上のAmazon Linux 2023でZixi Feeder for MediaConnectを稼働させました。Zixi FeederへはOBS StudioからRTMPプロトコルで入力を行います。Zixi Feederではこの入力Inputに加え出力OutputでZixiプロトコルを指定し、Zixi pushをSourceに指定したMediaConnectに映像を伝送します。Zixiプロトコルで映像を入力したMediaConnectに対し、SRTプロトコルでVLC Playerから接続して伝送されている映像を確認しました。

Zixi feeder/receiver softwareの発見まで

まずは改めて、MediaConnect User GuideにあるZixi feeder/receiver softwareの紹介部分を確認してみましょう。

MediaConnect User GuideのProtocols in AWS Elemental MediaConnectのTransport stream flowsの項目で、Zixiについて確認します。以下の記載がありますね。(日本語訳は日本語版ユーザーガイドより)

If your encoder is not capable of using Zixi, you can use the Zixi feeder/receiver software that was created specifically for use with MediaConnect. You can access this software on the Zixi website, where you will be asked to provide your information before you can download the software.

お使いのエンコーダーが Zixi に対応していない場合は、MediaConnect 専用に作成された Zixi フィーダー/レシーバーソフトウェアを使用できます。このソフトウェアには Zixi の Web サイトからアクセスできます。ダウンロードする前に、情報の入力を求められます。

mz01
引用元: Protocols in AWS Elemental MediaConnect - AWS Elemental MediaConnect

MediaConnect User Guide内 Zixi website のリンクをクリックすると以下のZixi社のページに遷移しました。ここからユーザ登録など行うことで、インストールファイルとドキュメントへのアクセスが許可され、またアクティベート用のライセンスキーも取得できるとのことです。いざ進めていきましょう!

mz02

Zixi Customer Portalへの登録とログイン

MediaConnect User Guideのリンクから遷移したアカウント作成ページで、その内容とZixi Software Terms & Conditionsを確認します。各項目を適切に入力し、Software Terms & Conditionsの同意チェックボックスを付け、(Create Account)ボタンを押下します。

mz03

ボタン押下後にログインページに遷移します。ページ下部にアカウントを作成したメールを確認する旨、メッセージが記載されていますね。

mz04

メールを確認すると Zixi Customer Portal: Welcome という件名のメールが届いていました。パスワード設定用のリンクが記載されているのでクリックします。以下のパスワード設定画面に遷移するのでパスワードを設定、(Reset Password)ボタンを押下します。
mz05

パスワードリセット後、改めてログインページに遷移します。メールアドレスと設定したパスワードでログインしましょう。

mz06

Zixi Customer Portalにログインできました!

mz07

Zixi Feeder/Receiver for MediaConnectについての情報を確認

さてZixi Customer Portalにログイン成功後、Notificationsの確認もそこそこにしてSoftwareにページに進んでみます。 Zixi Feeder/Receiver for MediaConnect が表示されていますね!

mz08

バージョン番号部分(上記ではV. 14.4.43231)をクリックするとダウンロードページに進みます。Release NotesでOSごとの推奨環境についても確認できます。

mz09

Linuxの推奨環境は64-bitでglibc 2.14以上に対応、またno-GUI環境が推奨されるとのことです。本エントリでは動作確認としてAmazon EC2上のAmazon Linux 2023にインストールしてみました。(実際のユースケースとしてはクラウド側ではなくオンプレミス側、エンコーダに近い環境で動作させたほうが良いかと考えます。しかし、今回は検証としてクラウド側EC2での稼働としました。)

また、このページ下部の(AWS MediaConnect Receiver User Guide)/(AWS MediaConnect Feeder User Guide)ボタンもしくはDocumentationのリンクからドキュメント「AWS MediaConnect Receiver User Guide」、「Zixi Feeder - AWS MediaConnect User Guide」のPDFを参照することができます。

mz44

ざっと確認して、「MediaConnectにZixiプロトコルで入力を行いたい(SourceのプロトコルにZixi pushを指定したい)」という場合はZixi Feederのほうを使えばよさそうです。ドキュメント「Zixi Feeder - AWS MediaConnect User Guide」を参照しながら検証を進めていきます。

Zixi Feeder実行用EC2の準備

Zixi Feeder/Receiver for MediaConnectについての関連情報が確認できたところで、まずはこのZixi Feederを動作させる環境を準備します。先述の通りLinuxの推奨環境は64-bitでglibc 2.14以上に対応、またno-GUI環境が推奨ということ、また準備のしやすさから本エントリでは動作確認としてAmazon EC2上のAmazon Linux 2023にインストールしてみます。

EC2のマネジメントコンソール、(Launch instances)ボタンから進みLaunch an instanceページでQuick startからAmazon Linuxを選択するかたちですね。Amazo Machine Image (AMI)がAmazon Linux 2023となっていること、また Architectureが 64-bit (x86) となっていること を確認しましょう。特にArchitectureについてはOperating System Recommendationsの内容から 64-bit (Arm) には対応していないのではないかと踏んでいます。

mz10

インスタンスタイプはt3.microを選択しました。検証用ということT系インスタンスに狙いを定めつつ、64-bit (x86)であることからT4gインスタンスは使用できません。T3インスタンとしつつ、メモリ量を念のため1GiBとして(512MiBだと少し心もとないかなと)t3.microとしました。

ネットワーク設定としてはパブリックサブネットに配置、またAuto-assign public IPを有効にしています。Security GroupはZixi Feeder/Receiver for MediaConnect用に新たに作成したものを使いました。Inboundルールでは、EC2にSSH接続するためのポート22、Zixi Feederの管理画面用のポート4444、そしてZixi FeederにRTMP形式で入力するための1935を設定します。Outboundについては制限はしていません。

mz22

ストレージ(EBS)はボリュームタイプとしてgp3を選択、容量は8GiB、IOPSとスループットはデフォルト値(3,000 IOPS、125 MiB/秒)としました。

Zixi Feederのインストールとライセンス登録

Zixi Feeder実行用のEC2が準備できたら、続いてはZixi Feederのインストールです。インストール方法について先ほどのZixi Customer PortalのSoftware、Zixi Feeder/Receiver for MediaConnectのページを確認してみましょう。(>_CLI)のボタンをクリックすると、以下のようにダウンロード用のwgetコマンドならびにcurlコマンドが表示されます。こちらを接続先のEC2で実行、インストールに必要なファイルをダウンロードします。

mz11

mz12

EC2インスタンスにSSHで接続し、今回はwgetコマンドでダウンロードしました。

[ec2-user@ip-10-82-21-8 ~]$ wget [ダウンロードURL] -O "zixi_mediaconnect-linux64-14.4.43231.tar.gz"
[ec2-user@ip-10-82-21-8 ~]$ ls
zixi_mediaconnect-linux64-14.4.43231.tar.gz

ダウンロード後、zixi_mediaconnect-linux64-14.4.43231.tar.gzファイルを展開し、出現するzixi_mediaconnect-linux64フォルダに移動します。

[ec2-user@ip-10-82-21-8 ~]$ tar xvf zixi_mediaconnect-linux64-14.4.43231.tar.gz
[ec2-user@ip-10-82-21-8 ~]$ ls
zixi_mediaconnect-linux64  zixi_mediaconnect-linux64-14.4.43231.tar.gz
[ec2-user@ip-10-82-21-8 ~]$ cd zixi_mediaconnect-linux64
[ec2-user@ip-10-82-21-8 zixi_mediaconnect-linux64]$ ls
LICENSE_3RD_PARTY.txt  install_43231.sh     zixi-app.key
activate.sh            librlm1233.so        zixi_installer.pub
authplugins            preinstall_check.sh  zixi_mc_runner
checksum.txt.asc       rlmhostid            zixi_mediaconnect-14.4.43231
html                   scripts              ziximc
installMe.sh           upgrade.sh           ziximc.service

展開されたファイルを確認すると、どうやらinstallMe.shを実行すればよさそうです。ただし通常ユーザ(ここではec2-user)で実行しようとすると/etc/init.d配下ににファイルが作成できないと怒られてしまいます。

[ec2-user@ip-10-82-21-8 zixi_mediaconnect-linux64]$ ./installMe.sh 2>&1 | tee log_installMe_ec2-user.log
cp: cannot create regular file '/etc/init.d/ziximc': Permission denied
failed copying ziximc to /etc/init.d`

sudoでinstallMe.shを実行します。インストールできたようですね。

[ec2-user@ip-10-82-21-8 zixi_mediaconnect-linux64]$ sudo ./installMe.sh 2>&1 | tee log_installMe_sudo.log
which: no ipcalc in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin)
gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
gpg: key xxxxxxxxxxxxxxxx: public key "zixi_installer <xxxxxxx@xxxx.xxx>" imported
gpg: error running '/usr/bin/gpg-agent': probably not installed
gpg: failed to start gpg-agent '/usr/bin/gpg-agent': Configuration error
gpg: can't connect to the gpg-agent: Configuration error
gpg: WARNING: key xxxxxxxxxxxxxxxx contains preferences for unavailable
algorithms on these user IDs:
gpg:          "zixi_installer <xxxxxxx@xxxx.xxx>": preference for compression algorithm ZLIB
gpg:          "zixi_installer <xxxxxxx@xxxx.xxx>": preference for compression algorithm 3
gpg:          "zixi_installer <xxxxxxx@xxxx.xxx": preference for compression algorithm ZIP
gpg: it is strongly suggested that you update your preferences and
gpg: re-distribute this key to avoid potential algorithm mismatch problems
gpg: you can update your preferences with: gpg --edit-key xxxxxxxxxxxxxxxx updpref save
gpg: Total number processed: 1
gpg:               imported: 1
Note: Forwarding request to 'systemctl enable ziximc.service'.
Synchronizing state of ziximc.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable ziximc
Created symlink /etc/systemd/system/multi-user.target.wants/ziximc.service → /etc/systemd/system/ziximc.service.
Startup script installed
Restarting ziximc (via systemctl):                         [  OK  ]

インストール完了後、Webブラウザからhttp://[Zixi FeederのIPアドレス]:4444にアクセスします。ドキュメント「Zixi Feeder - AWS MediaConnect User Guide」の"Logging in to Zixi MediaConnect Feeder"(PDFの9ページ目)記載のUser NameならびにPasswordを使ってログインしましょう。

mz13

ログイン後はSTATUSページが表示されます。まずはSETTINGSページに進み、初期ユーザパスワードを変更しておきます。

mz23

パスワード変更後、再度ログインをします。続いてSTATUSページ記載のLicenseのアップデートを行いましょう。インストール直後は以下のように「Licensing Error. Please update your licenses!」と表示されています。

mz45

ライセンスについてはZixi Customer Portalから取得します。License Keysのページに進み、「AWS MediaConnect : Key to Activate as Feeder」の(Generate Key)ボタンを押下します。

mz14

ライセンスキーが発行されます。Keyの内容をコピーしておきましょう。

mz15

ライセンスキーをコピーしたら、再びZixi Feederの管理画面http://[Zixi FeederのIPアドレス]:4444に戻ります。STATUS画面の右上[Options] からActivate Licenseを選択します。

mz16

Activate Licenseのダイアログが現れます、Keyを入力して[Activate]ボタンを押下しましょう。

mz17

ライセンスが登録できました。StatusがOKとなっていますね。

mz18

Zixi Customer Portal側でもライセンスの登録状況が確認できました。

mz19

MediaConnect Flowの作成

Zixi FeederのEC2へのインストールならびにライセンス登録が完了し、検証の準備が整いました。続いて、動作確認を行うにあたり検証用のMediaConnectリソースを作成しましょう。Zixi Feederからの映像を受け付けるMediaConnect FlowならびにSource、そして出力Outputを作成します。

まずはFlowならびにSourceの作成です。MediaConnectのFlowリソース一覧画面から(Create flow)ボタンで進みます。

FlowのNameを適切に設定、Availability zoneはAny、Flow sizeはMediumとします。SourceではStandard sourceを選択、Nameを適切に入力して、ProtocolはZixi pushを選択します。Allowliset CIDR blockはZixi Feederが稼働するEC2のIPアドレスをCIDR形式(末尾に/32を付与)で入力します。Maximum latencyは200、Stream IDはzixi-treamと設定してみました。またThumbnails stateを有効Enalbedにしています。

mz24

mz25

(Create flow)ボタンを押下してFlowを作成します。作成後の画面で、このMediaConnect FlowのPublic Outbound IP addressを確認しておきます。Zixi pushプロトコルの場合はポートが2088で固定なので、Zixi Feeder側からは[Public Outbound IP address]:2088に接続すればよいわけですね。

mz26

MediaConnectのOutputリソースについても作成しておきます。Outputの項目の(Add output)ボタンから進み、NameとDescriptionを適切に設定、Flow output typeはStandardを選択します。ProtocolはSRT Listenerを選択し、Portは5001としました。Allowed CIDRsで接続を許可するIPアドレスを指定しておきます。

mz27

以上でMediaConnect側のリソースの準備ができました。

Zixi Feederの設定

MediaConnect側リソースの準備ができたので、続いてはZixi Feeder側の準備もしていきましょう。Zixi Feederの管理画面http://[Zixi FeederのIPアドレス]:4444で操作していきます。

Inputの設定

まずはZixi Feederへの入力、Inputを作成します。今回は、Zixi FeederにRTMPプロトコルで入力を行うことにしました。あらかじめSETTINGSのRTMP serverの項目で、Enable RTMP Serverが有効になっていることを確認しましょう。

mz20

続いてINPUTの項目に進み、[+New Input]ボタンを押下します。Stream IDはrtmp-push-inputとしました。プロトコルはRTMPを選択、Stream parametersではTypeでPushを選択します。[Ok]ボタンを押下してInputを作成します。

mz28

mz29

Inputが作成できました。

mz30

Ouptputの作成

続いてZixi FeederのOutputを作成します。このOutputで入力したRTMPプロトコルをZixiプロトコルでMediaConnectに送信するわけですね。OUTPUTの項目に進み、[+New Output]ボタンを押下します。

mz31

Output Nameはzixi-outputとしました。Input Streamでは先ほど作成したrtmp-push-inputのInputを選択します。Output parametersでLinksのHostに、先ほど作成したMediaConnect FlowのPublic Outbound IP addressを入力しましょう。またStream IDもMediaConnect Sourceと同一の文字列(zixi-stream)を入れておきます。(Max latencyについてはデフォルトの6000のままとして作成しましたが、実際には要件や接続先のMediaConnectに設定した値も考慮して設定すべきでしょう。)

mz32

[Ok]ボタンを押下します。Outputリソースが作成できました。

mz33

映像を伝送して確認

MediaConnectならびZixi Feederのリソース作成ならびに設定ができました。それでは、実際に映像を伝送して確認してみます。

今回は、OBS StudioからZixi FeederへRTMPプロトコルで映像伝送、そしてZixi FeederからMediaConnectにZixiプロトコルで映像伝送、MediaConnectからSRTプロトコルでVLC Playerを使って再生確認という構成としました。

まずはMediaConnect FlowをStartさせてActive状態にします。

mz34

Zixi Feeder側では、InputとOutput双方でOfflineとなっていること(Stoppedとなっていないこと)を確認しましょう。Input、Outputともに作成直後はOfflineとなっています。もしStoppedの場合はActionの歯車からStartさせておきます。

mz35

Zixi FeederへRTMPプロトコルで映像伝送するOBS Studioの設定です。サーバーとしてrtmp://[Zixi FeederのIPアドレス]、ストリームキーとしてZixi FeederのInputのStream ID(ここではrtmp-push-inputを入力します。

mz36

[配信開始]ボタンを押下してZixi Feederへの伝送を開始します。

mz37

mz38

OBS Studioからの配信を開始すると、Zixi FeederのInputならびにOutputがConnectdとなりました。

mz40

mz39

AWSマネジメントコンソールから、MediaConnect Flowの状態を確認してみましょう。Sourceに接続されPrevewでサムネイル画像も確認できますね。

mz41

実際の映像確認をVLC Playerで行います。[ネットワークを開く]からsrt://[MediaConnect FlowのPublic Outbound IP address]:[ポート番号]を開きます。ポート番号は今回であれば5001ですね。

mz42

VLC PlayerからZixi FeederそしてMediaConnectから伝送されている映像が確認できました!

mz43

まとめ

AWS Elemental MediaConnect User Guideで紹介されていたZixi feeder/receiver softwareを使ってMediaConnectへのZixiプロトコル入力を試してみました。Zixi社のサイト、ポータルからZixi Feeder/Receiver for MediaConnectのソフトウェアのダウンロード、ドキュメントの参照、そしてライセンス発行が可能です。今回はMediaConnectへ映像を送信するためのZixi Feederを、EC2上のAmazon Linux 2023で稼働させてみました。Zixi FeederへはOBS StudioからRTMPプロトコルで映像を送信し、Zixi FeederからMediaConnectへZixiプロトコルで送信する、という構成を確認してみました。伝送された映像の確認はMediaConnectからSRTプロトコル経由でVLC Playerにて視聴というかたちをとりました。

これまでZixiプロトコルまわりの検証は機材などの準備から難しかったのですが、このZixi Feeder/Receiver for MediaConnectを使って実際にZixiプロトコルに触れることができました。今回はシンプルな設定のみの検証でしたが、試してみたかたちですが、暗号化などそのほか設定についてもこのZixi Feeder/Receiver for MediaConnectを使って試してみたいと思います。

この記事をシェアする

FacebookHatena blogX

関連記事