2013-02-11
■[linux][不具合]ffmpegがtsファイルをmp4エンコードしてくれない件について(解決できず)
- 状況
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
■[ubuntu][不具合]epgrecが動作しない件(解決)
epgrecが動作しない件1/番組表が表示されない(解決)
- 使用環境
- 状況
インストールstep5を済ませても番組表が全く出ず、番組名が「no epg」のままとなっている。
直接./getepg.phpを実行してもsegmentation faultとなる。
- 原因
- 検証(php5-cliパッケージを使用した場合)
lamppのphpではなく、php5-cliパッケージをインストールして動作確認したところ、後にEPG番組表が取得できなくなった。tsファイルをgetdumpしたところxmlは正常に生成されている。
/usr/bin/phpをlamppのphpからのシンボリックリンクに直したところ取得できるようになった。
- 動作確認用のメモ書き
付記: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時間)
今後の課題
- 録画した番組をmpeg4へエンコード
tsのままではサイズがかさばるためサイズを小さくしたい
- PT2で録画したMPEG2-TSファイルをsplitしたりトランスコードをする: tadachi-net 出張所
- ffmpeg で TS をできるだけ高画質な mp4 へ変換してみた - I’m just another TeXnician.
- TSファイルをffmpegでmp4にエンコード - 自宅PCの設定記録
参照リンク
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
公式サイトの掲示板。録画予約が消えないときの対応方法について等ケーススタディが色々あり
atコマンドの出力はメールで返るためatでecho hogeなどとしても何も表示されず、端末に表示させるには、atコマンドの標準出力を端末に指定して出力する必要があるとのこと。ただしログインユーザ以外の、ウェブサーバユーザなどではこのように標準出力を指定してもechoの出力は得られなかった。ただし、シェルスクリプトは問題なく動作した。
2013-01-19
2012-10-06
■[Ubuntu][不具合]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
■[ubuntu][不具合]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.ハイバネートからの復帰で画面がバグる(砂嵐)
ハイバネートから復帰すると以下のように矩形の砂嵐で区切られた画面になる。
画面の更新やウィンドウをクリックなどしても変化なし。
新たに起動したウィンドウについては異常なく表示される。
対処
ひとまずの対処としては、
1.使っていないときはxbmcを終了するか最小化しておくこととする
2.ハイバネートを使用しないことにする(不便…)
検索してみると、NVIDIAのようなプロプライエタリなドライバを必要とするグラフィックボードはカーネルアップデートで不具合が起きるのが常らしい。ならば、と思って以前のカーネルで起動しようとするが、なぜかブート処理の途中で止まってしまう。
こういうところがUbuntuをはじめとしたLinuxの面倒臭いところである。
教訓
カーネルは安易にアップデートしない。
関連情報
カーネルアップデート前は発生しなかったのでこれらの原因は除外。
- ハイバネート時に画面が復帰しない - GeForce 7050PV - usyWiki:
- BinaryDriverHowto/Nvidia - Community Ubuntu Documentation
Ubuntu公式ドキュメントより。
NVidiaドライバのTroubleshootingのページ中、Suspend/Hibernationの項目だが、ここに書いてあるのは「古いドライバ使用時にハイバネート・サスペンドが機能しない問題」についてであり、最新ドライバ使用時の不具合については書いていない。Installation Failsの項目が参考になるか?


