at_takuya.sasaki
2014年10月5日 20時32分
Armadillo-840のDebianイメージでは、そのままではAVコーデックミドルウェアが使えません。 今回はDebianでAVコーデックミドルウェアを使ったH.264/AACデコードを試してみます。
<***注意***>
本ブログの内容はArmadillo-840のフラッシュメモリに書き込まれているファームウェアが <squashfs-a800-firmware-v3.00.img>の場合でのみ動作します。
それ以外のファームウェアでは動作しませんのでご注意ください。
本文中に出てくる3つのファイルは、以下からダウンロードしてください。
acm_file.zip
1. DebianをインストールしたSDブートディスクを作成して、Armadillo-840をSDブートします
http://manual.atmark-techno.com/armadillo-840/armadillo-840_product_manual_ja-1.1.0/ch15.html
2. 時刻を設定して、パッケージのアップデートをします。
root@debian:~# date --set="2014/10/04 10:00" root@debian:~# apt-get update root@debian:~# apt-get upgrade
3. パッケージインストール中にページキャッシュ周りエラーが出ることがあったので、以下のコマンドを実行しました
(参考: http://za.toypark.in/html/2010/06-17.html)
root@debian:~# echo 4096 > /proc/sys/vm/min_free_kbytes
4. ethの設定を行いインターネットに接続できる環境にした後、必要なパッケージをインストールします。
インストール中に以下のメッセージが出る場合には、[y]としてください。 Install these packages without verification [y/N]?
root@debian:~# apt-get install gstreamer1.0-tools root@debian:~# apt-get install gstreamer1.0-plugins-good root@debian:~# apt-get install gstreamer1.0-plugins-bad root@debian:~# apt-get install gstreamer1.0-plugins-at-acm root@debian:~# apt-get install gstreamer1.0-libav root@debian:~# apt-get install gstreamer1.0-alsa root@debian:~# apt-get install qtgstreamer-plugins
5. 2つのファイルをコピーします
root@debian:~# cp /mnt/60-acm-cert.rules /lib/udev/rules.d/ root@debian:~# mkdir /etc/acm root@debian:~# cp /mnt/acm-cert.sh /etc/acm/ root@debian:~# chmod +x /etc/acm/acm-cert.sh
6. convert_pubkeyをコピーします
root@debian:~# cp /mnt/convert_pubkey /usr/bin/ root@debian:~# chmod +x /usr/bin/convert_pubkey
7. シンボリックリンクを作成します
root@debian:~# ln -s /opt/firmware/acm/acm-decoder-1.0.0.fw /lib/firmware/acm-decoder.fw
8. /etc/rc.localに以下の行を追加します
root@debian:~# vi /etc/rc.local echo decoder > /sys/devices/platform/acm.0/codec
9. JP1/JP2をショートして再起動します
root@debian:~# reboot
10. 以下のパラメータを指定し、JP1をオープンにしてArmadillo-840を起動します
hermit> setenv console=ttySC2,115200 noinitrd rootwait root=/dev/mmcblk0p2 mem=384M hermit> boot
11. デコードする動画をダウンロードします
root@debian:~# wget http://download.atmark-techno.com/sample/bbb/big-buck-bunny-30sec-800x480.mp4
12. 以下のコマンドで動画を再生します.
今回はビデオはLCDに、オーディオはArmadillo-840拡張ボードのHP OUTに出力します
root@debian:~# gst-launch-1.0 filesrc location=./big-buck-bunny-30sec-800x480.mp4 \ ! qtdemux name=demux0 \ demux0.audio_0 ! queue ! acmaacdec ! alsasink device=hw:1 \ demux0.video_0 ! queue ! acmh264dec ! acmfbdevsink device=/dev/fb1
*音量の調整をしたい場合は以下のブログを参照してください。
https://users.atmark-techno.com/blog/750/729
以上