有職故実

UbuntuとiPhoneと生活と

2013-02-11

[][]ffmpegがtsファイルをmp4エンコードしてくれない件について(解決できず) 20:16

  • 状況

ffmpegエンコードするが"channel element 1.2 is not allocated"のエラーメッセージが出続けてエンコードが進まない

  • 原因

多重化されたtsファイルだったため

洋画などの二ヶ国語放送や文字放送は多重化tsファイルとなっている

こうしたtsファイルをプレイヤーで再生するとCMなどは音が出るが、本放送で音が出なくなる。一旦オーディオトラックを無効にした上で選択し直すと音が出る。

  • 対策

linuxでは有効な対策が無いようだ。

WindowsであればTMPGEncを用いることで安定してmp4に変換できるようである。

二ヶ国語放送や文字多重放送についてはmp4変換をせず、早目に視聴し削除することにする。

(追記)

すっかり失念していたが、HandBrakeを用いることで問題なく変換できた。

  • 所要時間

以上の原因究明に7時間30分を所要した。

参照リンク

番組内や挿入されているCM等によって音声の切り替えが頻繁にある場合ffmpegが落ちるとのこと。解決策はWindowsのツールであるtssplitterなどで音声チャンネルが変わった所でTSを分割するとのこと。

aac_parser.cがMPEG2AACのみ対応でMPEG4 AACに対応していないのが原因とのこと

2013-02-03

[][]epgrecが動作しない件(解決)

epgrecが動作しない件1/番組表が表示されない(解決)

  • 使用環境
    • Ubuntu 11.10
    • LAMPP(Linux 1.7.3a)
    • epgrec(090814)
    • recpt1(pt1-c44e16dbb0e2)
    • pt1-7662d0ecd74b、pt1-b14397800eae(2013年2月現在最新版)は./configureでパスを通しているはずのlibarib25が見つからないと言われ使用できず。
    • epgdumpr2_20111001

  • 状況

インストールstep5を済ませても番組表が全く出ず、番組名が「no epg」のままとなっている。

直接./getepg.phpを実行してもsegmentation faultとなる。

  • 原因
    • DocumentRootがwindows環境時に設置していたWebサーバのProgram Files以下にあり、パスに半角文字を含んでいたため。
    • getepg.phpの冒頭のシェバング(#!/usr/bin/php)がphpパッケージをインストールしたときのパスとなっているが、lamppでの運用のためここにphpの実行ファイルが存在しないため
  • 検証(php5-cliパッケージを使用した場合)

lamppのphpではなく、php5-cliパッケージをインストールして動作確認したところ、後にEPG番組表が取得できなくなった。tsファイルをgetdumpしたところxmlは正常に生成されている。

/usr/bin/phpをlamppのphpからのシンボリックリンクに直したところ取得できるようになった。

  • 動作確認用のメモ書き
    • epgrec-090814.tar.gz(2009年8月14日版)
      • 番組表が取得できないとき
      • ./getepg.phpをしても、すぐ端末に入力が返って来てしまい、カードリーダのランプは点灯したままで、/tmpには何も生成されない。
      • 正常動作時
      • ./getepg.phpを実行するとしばらく入力は返って来ない。カードリーダのランプは点滅し/tmpにはepg用の一時ファイルが生成されている。
    • epgrec_20111001.tar.gz(記事作成時の最新版)
      • 正常動作時
      • すぐに端末に入力が返る。カードリーダのランプは点滅し、/tmp/__temp.ts.grxx が生成されている。

付記:recpt1のcpu使用率は5%程度(4コアでは1.25%程度)

epgrecが動作しない件2/録画予約ができない(解決)

  • 状況

予約ボタンを押しても"Error:get:無効なid"とのダイアログが出て予約が実行されない

システムログには"Reservation::custom job番号の取得に失敗"と出ている。

  • 原因

apacheがnobodyユーザ権限で動いていたため

lamppの/opt/lampp/etc/httpd.confのUserを参照したところ,User nobody Group nogroupとなっていた。

nobodyは/etc/at.denyに含まれているユーザーである。

  • 対応

/opt/lampp/etc/httpd.confのUser/Group設定を以下のように変更し、/etc/at.denyからwww-dataを削除した。

 User www-data
 Group www-data

epgrecが動作しない件3/予約録画が実行されない(解決)

録画予約をして待つが一向に録画が開始されない。

  • 原因

参照先リンク1のページによるとmsg_get_queue()というSystemVのメッセージキューを得る関数がPHPのコンパイル時に使用可能になっていなかったこと…らしい。

  • 対応

PHPをソースからコンパイルするのもオプション設定が大変そうなので*1、msg_get_queue()関数を使用していない、epgrecの旧版を利用する。

リンク先で紹介されているepgrec-090814.tar.gz(2009年8月14日版)を使用したところ問題無く動作した。

また、一応www-dataユーザをvideoグループに追加している。追加していない状態での動作は確認していない。

(所要時間:全て合わせて19時間)

今後の課題

tsのままではサイズがかさばるためサイズを小さくしたい

参照リンク

1.--CentOS5.4録画サーバ機にEPG対応録画フロントエンド(epgrec)を入れる: tadachi-net 出張所

epgrec-090814.tar.gz(2009年8月14日版)を使用したインストールの手引き

2.--Ubuntu Music Hour KTV-FSPCIE + EPGrecで予約録画1/2【LAMP環境の構築,他、前準備】

インストールの手引き

上記サイトの録画できない場合のトラブルシューティングリスト

      • do-record.shが使えるか?
      • チューナデバイス使用ユーザーとしてwww-dataをvideoグループに追加を忘れてないか
      • sudo atqでジョブが登録されているか
      • LAMP環境の構築でミスが無いか
      • パーミッションは大丈夫か

他トラブルシューティングへのリンク

3.PT3の設定(ubuntu12.04) - わすれないうちにメモしよう

インストールの手引き。

recpt1でライブラリがロードできないというエラーが出る場合の対処法、録画エラー時の原因特定のためのrecpt1実行時ログの出力設定、録画できるのに「重複予約があるため録画ができない」と表示される場合への対処など。

4.--○○的な気まぐれ日記 » PT3でepgrec UNA

php5パッケージはLAMPとは別に入れた方が良いらしい?

apacheの実行ユーザをvideoグループへ追加する

epgrecにはUNAという派生版があるようだ

5.--PT3、UbuntuLinux12.04、epgrecで録画サーバを作る。 - Linux 開発日誌

スマートカードリーダのバグ回避・バージョン固定の方法。

記述されているjaistのmaverickレポジトリには既に該当するライブラリが無いため、debパッケージを個別に入手しなくてはならない。

6.--transitive.info - Ubuntu 12.04 で PT3 と epgrec で録画する

インストール方法・復号に失敗した録画を視聴する方法・シャットダウンから自動復帰して録画する設定

録画予約が消えないときは以下SQL文で削除できるとのこと。

delete from Recorder_reserveTbl where id=9999;

7.要望/コメント/いろいろ - 録画予約システムepgrec

公式サイトの掲示板。録画予約が消えないときの対応方法について等ケーススタディが色々あり

8.Hello,World atコマンド

atコマンドの出力はメールで返るためatでecho hogeなどとしても何も表示されず、端末に表示させるには、atコマンドの標準出力を端末に指定して出力する必要があるとのこと。ただしログインユーザ以外の、ウェブサーバユーザなどではこのように標準出力を指定してもechoの出力は得られなかった。ただし、シェルスクリプトは問題なく動作した。

*1:lampp 1.7.3aのPHP Version 5.3.1のphpinfoで表示されるconfigure commandをクォートを除いてコピペしてもapx関係のエラーが出る

2013-01-19

[][]Ubuntu11.10にてタイトルバーが消える 18:43

以下のコマンドで復旧した。

$ compiz-decorator

デスクトップ環境がUbuntu 2Dのときは以上のコマンドでも復旧しなかった。

  • 状況
    • Compiz Fusion Iconを実行してもタスクバーにアイコンが出ない
    • $ compizを実行しても直らない

前回はcompiz設定全消しで復旧させた。

関連リンク

2012-10-06

[][]vlcで動画の映像が表示されない

Ubuntu11.10上のVLC media player 1.1.12 The Luggageにて、Handbrakeで作成したm4vやflv拡張子の動画を再生すると映像が表示されない。音声は正常に再生できる。

同じくmplayerのフロントエンドであるSMPlayerでも同様の症状が出る。しかし、なぜかvlcやSMPlayer同様にmplayerのフロントエンドであるUMPlayerやGNOME MPlayerでは正常に映像も表示される。

vlcやubuntu-restricted-extrasパッケージを再インストールしてみるが変化なし。

グローバルホットキーに対応した動画再生プレイヤーは知るところvlcしかないので、困ったことである。

しかし、UMPlayerやGNOME MPlayerで再生した後に、改めてvlcで再生してみると正常に映像が表示された。

2012-08-30

[][]Ubuntu11.10でカーネルアップデート(3.0.0-24)後、画面表示が遅い・ハイバネート復帰で画面がバグる(解決)

(追記)

以下の不具合はUnity 3Dが原因らしい。ログイン画面からUnity 2Dを選択してログインすると以下の不具合は全て回復し、快適な環境が帰ってくる。

Unity 2Dにするとcompizの各機能が無効になるが、以下のようにすると有効にすることができる。

/usr/share/gnome-session/sessions

[GNOME Session]

Name=Ubuntu 2D

RequiredComponents=gnome-settings-daemon;

RequiredProviders=windowmanager;panel;launcher;

DefaultProvider-windowmanager=compiz <---ここを変更

DefaultProvider-panel=compiz

DefaultProvider-launcher=compiz

DesktopName=Unity

Customize Unity 2D with compiz in Ubuntu 11.10 » Patel's Blog

環境

Ubuntu11.10 カーネル:3.0.0-24-generic-pae

グラフィックボード:NVidia 9600GT

ドライバ:NVIDIAアクセラレーションが可能なグラフィックスドライバー(リリースアップデート)(バージョン173-updates)

状況・原因

1.画面表示のレスポンスが遅い。

xbmc(メディアプレイヤー)が関係しており、xbmc起動直後のメディアを再生せずウィンドウをアクティブにした状態でXorgプロセスが30程度のCPUを消費しており、端末での文字入力のレスポンスもかなり遅くなる。

xbmcで何かメディアを再生している状態だとXorgのCPU使用率は平常値に戻る。xbmcを終了・最小化してもXorgのCPU使用率は平常値に戻る。

カーネルのアップデート前はこのような症状は無くxbmcでのメディア再生の有無に関わらずXorgのCPU使用率が上昇することは無かった。

2.ハイバネートからの復帰で画面がバグる(砂嵐)

ハイバネートから復帰すると以下のように矩形の砂嵐で区切られた画面になる。

f:id:moerrari:20120904221723p:image

画面の更新やウィンドウをクリックなどしても変化なし。

新たに起動したウィンドウについては異常なく表示される。

対処

ひとまずの対処としては、

1.使っていないときはxbmcを終了するか最小化しておくこととする

2.ハイバネートを使用しないことにする(不便…)

検索してみると、NVIDIAのようなプロプライエタリなドライバを必要とするグラフィックボードはカーネルアップデートで不具合が起きるのが常らしい。ならば、と思って以前のカーネルで起動しようとするが、なぜかブート処理の途中で止まってしまう。

こういうところがUbuntuをはじめとしたLinuxの面倒臭いところである。

教訓

カーネルは安易にアップデートしない。

関連情報

カーネルアップデート前は発生しなかったのでこれらの原因は除外。

Ubuntu公式ドキュメントより。

NVidiaドライバのTroubleshootingのページ中、Suspend/Hibernationの項目だが、ここに書いてあるのは「古いドライバ使用時にハイバネート・サスペンドが機能しない問題」についてであり、最新ドライバ使用時の不具合については書いていない。Installation Failsの項目が参考になるか?

35719

ユニークカウンタ(2011/6/26〜)