2016年1月21日木曜日

Chinachu + BonDriverProxy + TVTest によるリアルタイム視聴&recbondによる録画機能

この記事は過去に作成した「Chinachu + BonDriverProxy + TVTest によるリアルタイム視聴」の更新版の為、内容はほぼ同一です

  • OSをdebianからCentOSへ変更
  • 録画プログラムを同梱のsampleからrecbondを利用するよう変更

目的

  • Linux(CentOS or Debian)でPT3運用を行いたい
  • Chinachuを利用したルール予約&同時録画機能
  • TVTestでリアルタイム視聴を可能とする

注意事項

  1. Linuxサーバの構築および運用が可能な方を前提にしております
  2. サーバ側ではB25/MULTI2 復号を省略しています
    理由:ストリーミング再生する性能もないため、B25復号が不要(あとは実装できなかった)
    * 追記:sample.cppにb25デコードパッチを適用するとB25復号が可能となりました
  3. 当方の環境は名古屋/BS,CS無しのため、chinachuのチャンネル設定は都度変更してください
    ただしCSの場合sampleがsid指定出来ないため、視聴可否は確認できておりません
  4. ChinachuではEPG取得時に設定された全てのチューナーが利用されます
    よってTVTest視聴中に突然チャンネルが変更される場合があります

    * 追記:Chinachu config.json "noEpg: true"指定にてEPGスキャン除外が出来るようになりました

2015年3月3日火曜日

dockerメモ

ある件にて真面目に検討中
個人的メモとして残す

2015年2月17日火曜日

nginx + LibreSSL ビルド用shell

各種パラメータ類は環境に合わせて変更してください

2014年8月27日水曜日

Chinachu + BonDriverProxy + TVTest によるリアルタイム視聴&録画機能

目的

  • Linux(CentOS or Debian)でPT3運用を行いたい
  • Chinachuを利用したルール予約&同時録画機能
  • TVTestでリアルタイム視聴を可能とする

注意事項

  1. Linuxサーバの構築および運用が可能な方を前提にしております
  2. サーバ側ではB25/MULTI2 復号を省略しています
    理由:ストリーミング再生する性能もないため、B25復号が不要(あとは実装できなかった)
    * 追記:sample.cppにb25デコードパッチを適用するとB25復号が可能となりました
  3. 当方の環境は名古屋/BS,CS無しのため、chinachuのチャンネル設定は都度変更してください
    ただしCSの場合sampleがsid指定出来ないため、視聴可否は確認できておりません
  4. ChinachuではEPG取得時に設定された全てのチューナーが利用されます
    よってTVTest視聴中に突然チャンネルが変更される場合があります

    * 追記:Chinachu config.json "noEpg: true"指定にてEPGスキャン除外が出来るようになりました

2014年7月14日月曜日

Fedora20 + recfriio メモ


久しぶりにFriioが使いたくなり、ハマったのでメモ

make: *** [IoThread.o] エラー 1
$ g++ -O2 -march=native -g -Wall -pthread -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DB25  -DUDP   `pkg-config --cflags glib-2.0`   -c -o IoThread.o IoThread.cpp

In file included from /usr/include/glib-2.0/glib/gtypes.h:37:0,
                 from /usr/include/glib-2.0/glib/galloca.h:34,
                 from /usr/include/glib-2.0/glib.h:32,
                 from IoThread.cpp:12:
RingBuf.hpp: コンストラクタ ‘RingBuf::RingBuf(size_t)’ 内:
RingBuf.hpp:108:51: エラー: expected unqualified-id before numeric constant
   boost::xtime_get(&(node_top[i].timeout), boost::TIME_UTC);

といったエラーが出た

どうやら1.50より仕様がかわり、TIME_UTCを使う場合はTIME_UTC_に書き替えが必要とのこと
http://d.hatena.ne.jp/pyopyopyo/20120712/p1

cp -p RingBuf.hpp RingBuf.hpp.org
cat RingBuf.hpp.org | sed "s/boost::TIME_UTC/boost::TIME_UTC_/" > RingBuf.hpp

2014年4月16日水曜日

Aterm WH832A,WH862A/O IPv6

コミュファのHGW Aterm832AでDHCPv6-PD機能がサポートされていたので、
IX2105で利用できるかテスト
接続構成
      +-----+ LAN1
  WAN |     |------------------------------[PC]
------| HGW | LAN2  Gi0.0          Gi1:1.0
      |     |-------------[IX2105]---------[Server]
      +-----+
IX2105はHGWに対してDHCPv6 Client,
配下のサーバに対してはDHCPv6 Serverとして動作するように設定する

注意

DHCPv6-PD機能はHGWの機能であり、コミュファではサポートしていない(まぁ当たり前か...)
複数台つなぐ場合についても聞いてみたが、答えられないとのこと

繋げばプレフィックスはもらえると思うが、DHCPv6クライアントの要請順番で割り当てプレフィックスが変わりそう
(配下のサーバが固定IPv6設定しているので、うちだと使えない...)

複数プレフィックスが欲しい場合は「IPv6静的ルーティング」で対処する必要があるなーと思ってたら、
http://www.aterm.jp/function/wh862a/list/main/m01_m43.html
※なお、本商品が管理してるprefix内のIPv6アドレスに関するルーティングエントリは、ホスト指定(/128)でのみ追加可能です。

と、(使えない)機能として存在

現状複数DHCPv6クライアントを置く場合は気を付けるしかない(または/128を必要分書くのか?!)

またHGWからは割り当てられたプレフィックスは見れないので、
IX側でshow ipv6 interfaceにて確認するしかなさそう

IX2105 DHCPv6設定

下記は実際にIX2105で利用しているDHCPv6設定の抜粋

・接続Interfaceは適宜修正すること
・dhcp-cl-profile_v6内のsubscriberは対象Interfaceに割り当てられるプレフィックスのホスト部を指定しているが、ここも適宜修正 ・IPv4も利用したい場合も修正(今回はあえて無効)

! NEC Portable Internetwork Core Operating System Software
! IX Series IX2105 (magellan-sec) Software, Version 8.8.22, RELEASE SOFTWARE
!
ipv6 dhcp enable
!
proxy-dns ipv6 enable
!
ipv6 dhcp client-profile dhcp-cl-profile_v6
  option-request dns-servers
  ia-pd subscriber GigaEthernet1:1.0 ::0:0:dead:beef/64
!
ipv6 dhcp server-profile dhcp-sv-profile_v6
  dns-server dhcp
!
interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 dhcp client dhcp-cl-profile_v6
  no shutdown
!
interface GigaEthernet1:1.0
  no ip address
  ipv6 enable
  ipv6 dhcp server dhcp-sv-profile_v6
  ipv6 nd ra enable
  ipv6 nd ra min-interval 60
  ipv6 nd ra max-interval 180
  ipv6 nd ra other-config-flag
  no shutdown
!

今のところこれで問題なく運用できている
Gi0.0をセグメントA(/64)とした場合、Gi1:1.0には異なるセグメントB(/64)が割り当てられる
せっかく/58をもらってても有効活用できてなかったので、これでまだ遊べる

おまけ

そもそもIX2105であればコミュファのIPv4/v6 DualStack接続&複数プレフィックス利用できるのは言うまでもなく...
wiki