Linuxでテレビ総合スレ 避難所 2
■ このスレッドは過去ログ倉庫に格納されています
warpsharp+unsharpmask+delogoも加えれば更に遅くなる ラズパイで -b:v 5000k でやってるけど、時間は>>376とほぼ変わらんな。
画質はそのサンプルよりはましだけど、ものが高速で動くと辛い画になる 関係ない質問ですまないが、>>376の「scale=-2:1080」の-2ってどういう意味のオプションです? >>385
ごめん、どっかのサイトの記載そのまま。
-1 ってすると、自動でアスペクト比調整した値になるみたい。でも奇数になるときがあるらしい。なので、-2だと偶数で自動化なのかな、たぶん。 chinachu-mirakurun-sleep script(bash版)を使用させていただいているのですが(作者の方ありがとうございます)、
通常の状態だとchkstatusにログイン状態を判別する関数IsServerLoggedIn()があるので、
ログイン中はSomeone is logging in to this server.とでてスタンバイ(サスペンドに勝手にコマンドを変更しています)
に入らないで済むのですが、一旦ログアウトした後、すぐにログインしてcheckperiodを過ぎると
ログインしているにもかかわらず、サスペンドに移行してしまいます。(なぜか、exit 0で
echo "[`date`] ${0}: It is in a state that can be shutdown/hibernate/sleep this system." 1>&2
とでます)
ソースを見たところおかしな箇所も見当たらないので原因がわからないのですが、どなたか同様の症状の方
いらっしゃいますか? 神ドライバのおかげでRock64でもW3U4動かせるようになった…
ラズパイからの移行だけで丸1日かかったが
今まで使ってたS1UDに対応してなくて諦めかけてたけど、なんとかなった >>388
Rock64への移行興味あるんだけど、どのドライバと構成が神と崇められそう?
どの辺で苦労した? px4_drvを導入してみましたが今のところ良い感じです。 >>389
自分は以下のディストリビューションとpx4_drv+EPGStationの組み合わせで上手くいった。
Linux rock64 4.4.132-1075-rockchip-ayufan-ga83beded8524 #1 SMP Thu Jul 26 08:22:22 UTC 2018 aarch64 GNU/Linux
最初にarmbianでやってみたが、px4_drvのmakeに必要なカーネルヘッダが見つからず諦めた。
配布されてるヘッダのバージョンとカーネルが合わなかった。
その後上記のayufanでは、同じバージョンのヘッダーが手に入ったのでmakeできた。
あと苦労したところはnodejs。8.11.4を導入してmirakurunまでは上手くいった。
EPGStationのnpm installでnode_sqlite3.nodeが見つからないとエラー吐いた。
散々悩まされた挙句、node_modules/sqlite3上で以下のコマンドを実行して何とかなった
sudo npm install node-pre-gyp
sudo npm install -g sqlite3 --unsafe-perm
ゴチャゴチャやってたせいで/usr/lib/node_modules/以下にsqlite3.nodeが作られちゃったから、
シンボリックリンク張って無理矢理動かしてる感じ。
もう少しスマートな方法があれば良かったが、何分Linux歴が浅いド素人なので勘弁。 あとこれは肝心なことだが、Rock64対応のディストリビューションはどれもdvbをサポートしていないみたい。
元々ドングル型チューナーしか持っていなかった自分は、導入の最中にこの事実を知り一度は挫折した。
カーネルいじれば何とかなるものなのだろうか。 Nano Pi NEO 2 のArmbian(Ubuntu Core Xenial。Nightly使用)でPX-W3U4(px_drv)動作した。
上の書き込みに「カーネルヘッダが見つからなかった」とあるが、これはapt-get install linux-headers-next-sunxi64 あたりで導入可能(たぶんnanoPiNEOでもおk。この場合はlinux-headers-next-sunxiかな)
mirakurun入れたらメモリとかきつかった(TvTest@bondriver_mirakurunで動作確認し視聴できた)のでBonDriverProxy_Linuxで動作確認、視聴できた。
ただ、設定が悪いのか、時々dropしたので常用難しいかもね。 安定しないのは設定というよりクソ環境のせいじゃね? 実際の所、皆どんなハードウェア構成で使ってるのだろうね?
自分はこんな感じ(適当に抜粋)。
$ sudo lshw -short
H/W path Device Class Description
=========================================================
system BAT-MINI (To be filled by O.E.M.)
/0/28 memory 2GiB System Memory
/0/32 processor Intel(R) Celeron(R) CPU N2807 @ 1.58GHz
/0/100/14/0/2/1 generic STK8096GP
/0/100/14/0/2/2 generic EZ-USB
/0/100/14/0/2/3 generic EZ-USB
/0/100/14/0/2/4 generic STK8096GP
/0/100/14/1/1 scsi0 storage H567V PLUS
/0/100/14/1/1/0.0.0 /dev/sda disk 2TB 003 HN-M201RAD MythTV 29.1のdeb-multimedia.orgの最新版に、パッチ当てたのをビルドしましたよ(´・ω・`)
https://www.sendspace.com/file/clx308
axfcがなんかおかしいので、こちらで失礼。 PT2と3 ----- カーネル内dvbかpt*_drv ----- recdvbかdvbv5-zapかrecpt1 ----- mirakurun ----- rivarunかEPGStation
こんな感じで試してみたのですがmirakurunがEPGが欲しくなる(ログによるとgetEPG())たびに使用中のチューナーから他を蹴り出して取りに行ってしまいます
mirakurunより下の組合せでは問題無く録画可能で、rivarunとEPGStationで設定しているpriorityは2です
チューナー使用中、mirakurunさんにちょっと待ってもらうために出来る事を教えてください… 海外旅行のときとか外から視聴してる人居る?
とりえあず、httpsとdigest認証でそとから見れる様にしたけど、
セキュリティ上他になんか対策必要ですか?
vpnのが良いかな? >>397
俺のはこう。
$ sudo lshw -short
H/W path Device Class Description
============================================================
system To Be Filled By O.E.M. (To Be Filled By O.E.M.)
/0 bus J3455-ITX
/0/0 memory 64KiB BIOS
/0/e memory 8GiB System Memory
/0/14 processor Intel(R) Celeron(R) CPU J3455 @ 1.50GHz
Celeron仲間だね。このCPUでH.265のハードウェアエンコードしているよ。エンコード時間は早くはないけれども許容できる。
ソフトウェア環境だと、mythtvを長年使っているけれど、使い続けている人が減っているようで寂しい。 >>398
いつもありがとうございます。
当方はfedora。次期バージョンアップの際に活用させていただきます。 ubuntu18.04でPT2セットアップしようとしたらdriverでエラー
修正個所が増えたのね 遅ればせながら、我が家のRaspi3 B+環境でも px4_drvでW3U4の動作確認できました。
うちにWindowsマシンは無いため BS/CSの録画環境の選択肢はほとんど無い状態でしたが、このドライバのおかげで比較的安価に環境を整えることができて非常に助かってます。
ここ数日以下の環境で運用してますが全くトラブルない状況です。px4_drvの作者様には心から感謝します
- Raspberry pi 3 model B+ (Raspbian Jessie)
- px4_drv (8/15版)
- recpt1 (https://github.com/stz2012/recpt1の5/28版)
- mirakurun (@2.7.0)
- EPGStation (@1.1.1) ほぅ。USBは4ポートなのか。CPUクロックは遅いけど、いろいろ遊べそうだな >>405
報告乙
>>209にある「recpt1が実際に録画を始めるまで遅い問題」はない?
EPGStationは15秒前に録画準備するみたいだから、時間きっちりの番組は頭切れそうで怖かった
>>209を試したうちの環境がヘボかっただけかもしれんけど >>407
うーん、それとは別ものだと思いますが raspi環境作って間もない頃に、予約時刻にスリープしていたhddがスピンアップするのに時間が掛かった結果、mirakurun側のバッファが溢れて録画停止・・となったことは何度かありますね。
その後EPGStationに 'recordedPreStartCommand' が実装されたのでこれを適用したらその後問題出てないです。
自分の場合は単純にHDDを起こせれば良かったので、config.jsonは安直にこんな感じにしてます。
"ffprobe": "/usr/local/bin/ffprobe",
"recordedPreStartCommand": "ls /mnt/hdd1/", <<< ここ追加
"maxEncode": 2,
自分の環境ではHDDが起きている状態で直接recpt1叩いた場合は特に挙動に違和感はないですね。
もしHDDスリープ関係ないとしたら、根本的な解決ではないですがここに書いてあるmirakurunの設定が参考になるかも
https://github.com/l3tnun/EPGStation/issues/93 WindowsのvmwareにDebian入れてpx4_drv使わせて貰ってるけど一週間特に問題なく動いてる模様。 WindowsでMirakurun+EPGStationとWindowsでEPGStation、LinuxでMirakurunとLinuxでMirakurun+EPGStationってどれも同じですか?
不安定とかありますか? >>411
チューナーによる
PX-W3U4だとLinuxでないと安定しなかった 仮想化は別の話として
mirakurunもEPGStationもWindowsでの動作報告あるみたいだけど、正式対応なのかは知らん
どっちもnode.jsが動くならプラットフォームの影響は少ないのかもしれん
明らかな不安定要因としてはWindows Updateか どっちも実験的サポートだぞ
よほどの理由がなければlinux一択 >>413
cygwinでなくてwindowsネイティブでの話? WinのHyper-VにLinuxでEPGStation動かしたいんですけど録画後にAmatsukazeにエンコさせることはできますかね? EDCBみたいに安定して当たり前に使えるものは話題も少なくなる。
機能的に欠けているものが多くて使えない所が多いと
素人レベルでもいろんな報告や要望がひっきりなしで話題が多いように見える
mirakurunもepgstationはそういうもんだと思えるなぁ。
あとLinuxベースだと導入が楽と言う人もいるけど
EDCBやTvTestが規制への対応上わざと導入を面倒にしたり別ソフトにしているところを
全てパッケージ化してる所が、マイナー故見逃されてるってことだな。 >>416
winがホストならepgstationもwinで動かせばええやん >>418
mirakurunとかでも問題になるとこは別パッケージじゃね…? EDCB等のWindows用ソフトよりLinux用が優れてる!って主張が多いわけでもないし、誰に向けて言ってるんだろう gitから落としてビルドして設置するだけだからwinより楽だと思うよ
pt系なんか指すだけで認識するし
winの録画ソフトはcuiでササッと出来ないから導入がダルい
ビルドするにしてもvsインストールするだけでダルいし、拾ってくるにしてもファイルを探すのがダルい 単にファイルかき集めてGUIポチポチと、Gitでどーんnpmでドーン、コマンドカタカタ〜のどっちが楽か人それぞれってだけかと。 >>419
MirakurunがWinだと安定しないってどっかでみたことあったのでEPGStationもそうなのかと… まぁ試してみりゃええんでは?だめならVMにするなり別のサーバー立てるなりすりゃいいし Mirakurun+chinachuはCS再編でchannels.ymlはCSの
channel: CSXXとserviceId: XXXだけ書き換えたらイイの? 使用中のrecpt1やrecdvbにサービスID埋め込まれてたらそれも直す ラズパイ3(無印)でChinachuからepgstationに乗り換えようと思ってるんだけど
スペック的に問題なさそう?
なんか導入してる人少ないみたいだから不安定なのかなと 最近の話題はむしろEPGStationの方が多い感じだが、まあユーザー数とは別問か
ラズパイで安定するかは知らない ラズパイを録画で使うのは本番機には向かないと思う、あくまでテスト機向けかと。
再放送がなくて絶対に失敗したくない録画予約とか、ラズパイ鯖に預けるのは不安かも ラズパイ3で録画してるけどそんなに不具合感じないけどね
他の作業を並行するとドロップが少し発生気味なので専用機にしてupdateとかの時間を重ならないようにするくらい あ、一応epgstation使ってるけど、さんぱくん1波のみ週40くらいの予約なのでヘビーな使用は分からんです
まぁ、ラズパイなら試しに入れてもバックアップした環境入れ換えやすいんだし、環境と結果報告求む 皆さんどうもありがとう
今の所致命的なドロップは起こしてないから乗り換えても大丈夫なのかな
用途としては深夜アニメと金ローを時々録画するくらい
まあ来週辺りに試用の感想投下しに来るよ いざやろうとするとめんどくささが先行するな…
Chinachuで録り溜めたファイルを移行できないのがね
まあ仕様上仕方ないとは思うけど
ちゃんとフォルダ分けの設定してなかった事を今さら後悔 とりあえず今週中は諦め
PCがメインだからわざわざ環境移行するほどのもんでもないなこれ
二台目ちゃんとした鯖組むときにサブでラズパイに入れてみるか
ちなみに今の環境は
ラズパイ3にPX-S1UD
OSはRaspbian Stretch
バッファローの2TB USBHDDにrootまでぶち込んでSDはなるたけ使わない方針
メモリリーク対策としてcronに
/bin/sync && /bin/sync && /sbin/sysctl -w vm.drop_caches
これでここ一ヶ月は安定してる
参考までにどうぞ EPGStation間ならbackup/restoreで移行できるんだがな
まあうちは録画後の管理まではやらないからあんまり関係ないけど px4_drv作者さんへ
Q3PE4 + px4_drv + recpt1 + EPGStationで3日間テスト録画をしましたが、
ドロップもほとんどゼロ(BS11のEIT以外)でド安定動作しています。
超素晴らしいドライバをありがとうございます m(_ _)m
ひとつ要望なのですが、DKMSによるドライバの自動ビルド・インストールには
対応してもらえないでしょうか・・・?
pt3_drvの場合はmake installで自動的にDKMSに登録されて、
カーネルを更新したときも自動的に再度ビルドが掛かりインストールされますが、
px4_drvもそうなったら便利だと思うのですが、いかがでしょうか・・・。
(一応手動でdkms.conf書いてインストールしていますが、
ソースディレクトリ構造の変更とかudevルールとか手間がかかりますので・・・) px4_drvの開発お疲れ様です。
最新版でmirakurunのチャンネルスキャンすると
px4_drv: px4_tsdev_set_channel 0:3: failed. (ret: -11)
でdmesgが埋まります。 9/9にアップデートされてたのか知らなんだ
しばらく見合せよう
作者さんここ見てくれてそうだけどgithubも活用しようよ px4_drvの作者です
>>442
DKMSに対応してみました
いかがでしょうか
>>443
すみません チャンネルスキャンを行うプログラムのことを考えていませんでした
とりあえず受信できないチャンネルを選局してもメッセージが出ないようにしました
--------------------------------
関係ない話ですが、一部の環境でS1UDを使っているとカーネルごとフリーズすることがあるのは、ドライバがメモリの確保やurbのsubmitの際に指定するフラグの値が適切ではないからみたいです
実際にフリーズするのはswap領域への操作が発生するときのようなので、swap領域そのものをなくしてしまえば(ドライバを修正しなくても)とりあえずフリーズせずに動くような気はします
-------------------------------- 作者さん早速の対応ありがとうございます!
そういやうちもどうもS1UD繋がってると調子悪いなと思って抜いてたのでこちらの情報もありがとうございます! >>445
作者さん、神速のDKMS対応thxです! ばっちりです
やっぱりソースに同梱だとすっきりさっぱりしていて気持ちいいです・・・!
px4シリーズのLNB電源って、recpt1使用環境なら "--lnb 15" オプションを
つけない限りは常時電源供給OFFってことでいいのだろうか・・・?
ブースター電源で給電してるので、余計な負荷かけたくない思いがあるけども 微弱な電流とはいえこんな設計に不安のある謎機器からじゃなくて
ちゃんとしたメーカーの製品から給電した方がいいよ 448用語でいうなら
ちゃんとしたメーカーの製品から給電してるから
微弱な電流とはいえこんな設計に不安のある謎機器からは明確にOFFにしたい
と447は書いてるんじゃないの
それを受けて何故448みたいなレスしてるのか意味わからん 2ch(5ch)初です。よろしくお願いします。
px4_drvについての報告&要望です。
みなさんのところでは安定しているようですが、
うちではrecpt1でデコードをすると公式のドライバーでは発生しない(下記の2は極稀に発生するが)以下のような現象が
10%前後の割合で発生してしまいます。 環境はこちら
PX-W3PE4 + ACR39-NTTCom + Xubuntu amd64 + HWEカーネル(4.15.0-33-genericまで) + ウィンドウマネージャ
PLEX版recpt1に限らず、公式やSTZ版ではb25オプション付きしか試してませんが発生するのは確認しています。 まずはrecpt1でデコードした場合。
1. b25_decode failed
b25->put failed
b25_decode failed (code=-6). fall back to encrypted recording.
が出てデコードに失敗する。
エラーコードはほとんどが-6で以前には-5とかも。-9も1度だけ出た。
作られたtsはb25コマンドでデコードできるが、頭の15秒が削られてしまう。
tsをffmpegやtsselectで確認するとPIDがやたらと多くなっている?
2. 作られた動画の開始時間が0じゃない
動画の実際の総時間はrecpt1で指定した通りだが、開始時間が何時間・何十分からとかおかしな時間からスタートする。
例を挙げると、「1分録画したものが3時間14分スタート3時間15分エンドの動画になる」といった具合。
ffmpegとかで再構築は可能ではある。 3. sidを指定したときの「Available sid」「Chosen sid」が前回開いていたチャンネルのものになることがある。
しかし、実際にはrecpt1で指定したチャンネルが録画されているので問題自体はない。
4. 音声が出ない
しかし、ts内には存在する。
ffmpegとかで再構築は可能ではある。
(ageてしまった……) recpt1でデコードするのをやめた場合であっても、以下の現象が発生します。
2. 作られた動画の開始時間が0じゃない
こちらでも、まれに発生する
5. 動画の頭5秒がカットされる(上記の1か?)
PIDの多いtsになっているので、上に挙げた1と同じ原因?
これが起きた局は以後その状態のままになってしまうことがある。
BS1とBSプレミアムのどちらかで永続的な症状になったときは、この2つ共がその状態になる。
長いことデバイスを休ませ(てドライバーをロードし直すと?)ると回復する?
6. 数百KBサイズのtsファイルになることがある
どうしようもない… で、いろいろと切り分けをしてみたところ、やはり先頭付近のドロップが影響しているらしく、
px4_drvを弄って頭の2000パケットを無視するようにしてみたところ、現象は解消されました、と思う。
どのタイミングまで削ればいいのかを確認してみたところ、
・前回開いていたときのバッファの残りカス(=ringbuffer_stopまで)<-ダメ
・px4_tsdev_start_streamingの出口付近まで<-ダメ
・ringbuffer_stop(=ringbuffer_start?)から1500パケット<-ほぼ解消(1500ではまだ上記5が稀に発生するっぽい。ので2000)
といった感じでした。
(なお、上記5での永続的な症状になってしまった局はどんなにパケット数を増やしてもダメっぽい。) 他の方からの不具合報告がないので心苦しくはあるのですが、
作者さん見て居られましたら先頭のパケットを捨てるオプションを追加して頂けると助かります。
(実はプログラミング経験が乏しくソースの解析もろくにできないレベルの人間なので、自分のコードに信用が置けない……。
実際sysrqも効かないフリーズが起きる始末なので、まともなのがほしいなあと思っていたりします) それと、tsdev_max_packetsがログに現れないのは、こういったものは残さないのが一般的だったりしますか? >>452-459
長々と連続レスってるけど、recpt1単体じゃなくて
ちゃんとmirakurunから(さらに言えばChinachuとかEPGStationから)
recpt1を呼び出しているのかい?
自分も環境構築の前段階でテストするために、
recpt1を単体で録画したときは、再生したときに音声が出なかったり
1segの映像が再生されるTSができたりしてたよ。
(フルセグ、音声の映像サービスもTSには含まれている)
recpt1だけでテストしてるのなら、一回ちゃんと全部録画環境を
作ってからのほうがいいと思うよ・・・。
あと、レスの仕方とかもうひと月ROMったほうが良さそう。 つか、githubへissue投げた方が良いレベルじゃね?
ここでつらつら書かれてもわかりにくい。 >>452
作者さんpx4_drv側で対応してくれるかもしれないけど。
先頭付近のバケットを捨てれば解決するのならpx4_drv側ではなく
recpt1側で対処すれば良いのでは?
ttps://github.com/stz2012/recpt1/blob/master/recpt1/recpt1.c#L983-L986
上の位置がドライバへのTS出力開始指示だからその後で適当なサイズread
するだけで良いと思うよ。
もちろんその辺り含めてmirakurunに任せるというの楽だと思うけど。 epgrecとか使うときはrecpt1のsid、b25オプション使うし、recpt1単体テストでも良いと思う みなさんすみません。
実はテストではなくサーバー環境にしたくなくて
cronからrecpt1を使った簡易的なスクリプトで実行していたりします。
>>460
PCでのデジタルチューナーデビューしてから数カ月なので知りませんでしたが、
こういった現象って程度の差はあれど普通に発生するものなんですね。
> あと、レスの仕方とかもうひと月ROMったほうが良さそう。
申し訳ない。ひと月では足りなさそうです。
461についてはわかるのですが。
>>461
そうなんですけど、英語が弱すぎる人間なので海外のサイトはちょっと。
一応悩んだんですけど、踏み出せなかったんです。
入口(アカウント作成)から利用、出口まで、運営サイドとのやり取りの可能性も含め
総合的に考えてしまうところがアカンのでしょうけど……
「もし向こうに報告できたら拍手をお願いします」とか言おうかと思ったんですけど、
それも難しそう。 >> 462
ありがとうございます。
libarib25に渡す前に捨てる方法がわからなくて頓挫していましたが、
単純に捨てるという発想もなかったのでそこから、
時間が取れた時にでも挑戦してみようと思います。 >>447
DKMS対応に特に問題はなさそうですね よかったです
LNB電源についてはおっしゃる通り供給するオプションを明示しなければ常時OFFとなります >>452-459
ご報告ありがとうございます
まず3番についてですが、プログラムに不備がありましたので修正を行いました
次に1,2,4,5番については、私も先頭付近のドロップが影響しているのではないかと考えています
先頭のパケットをある程度捨てることによって問題は発生しなくなるとのことなので、そういった機能を追加することも考えています
ですが公式のドライバでは発生しないということは、何か別の方法があるのでは…?とも思っています
(ほとんど効果はないかとは思いますが、試しに一部の処理を変更してみました)
5番の永続的な症状についてですが、3番の修正で改善している可能性があります
6番の原因については、今のところハッキリとしたことは分かっていません >>467
早速のご返信有り難うございます。
テストしてみました。
まず、リングバッファサイズのログ表示、確認しました。ありがとうございます。
諸症状の方ですが5,6番は発生するっぽいです。が、より良い感じに思います。
5番は、うちでは地上波の放送大学くらいになったようです。
対策前ですとこの局が頻繁に発生するみたいです。
録画したtsの状態を確認したところ、
「一見動画に問題はなさそうだけれどtsselectにかけたらドロップがたくさん」
というパターンが散見されました。
...
pid=0x0200, total= 177100, d= 31, e= 64, scrambling=58, offset=0
pid=0x0210, total= 5266, d= 1, e= 3, scrambling=3, offset=4512
pid=0x0230, total= 29, d= 0, e= 1, scrambling=1, offset=1504
pid=0x02ff, total= 896, d= 0, e= 1, scrambling=0, offset=7896
...
なお、5秒カットされたときはPIDがたくさんになりますがドロップは0です。 6番に関しては、今回確認されたのは上と同じく地上波の放送大学です。
tsselectで見たら、PID一つでした。
pid=0x0000, total= 608, d= 0, e=608, scrambling=608, offset=0
なので、「Available sid」「Chosen sid」の数値も表示されませんでした。
どうも、大量のドロップが発生したりするのが5(1),6番の起きる要因なのかなあと感じてしまいます。
処理の流れを把握していないので妄想レベルですが、
公式のドライバーで気になるのはPLEX版recpt1core.cの649〜659。
何かタイミングを計っているような感じに見えます。
(開いた瞬間は信号が弱いから、とか?)
今のところはこのような感じです。
(個人的には既に大満足なバージョンです。) >>469
recpt1のオプションに--sidつけてます?
recpt1側に要因があるかもしれないのでつけないでテストしてもらえませんか。 >>468-469
詳細な情報をありがとうございます
おかげさまでおおまかな状況を掴むことができました
おそらく5,6番はrecpt1の--sidオプションによる分離処理の不備に起因するものである可能性が高いです
公式ドライバ(usb-px4)では発生せずにpx4_drvで発生する理由は、後者のほうが処理が高速であるために先頭付近のエラーのあるパケットがデバイス側で捨てられず、ドライバへと流れてくるためでしょう >>468-469
5番の問題が発生する条件は、
・最初にデバイスファイルから読んだtsデータの中にPAT(0x0000)が存在しない
・PATの解析中にmallocがエラーを返した
・PATの解析により選択されたPMTが最初にデバイスファイルから読んだtsデータの中に存在しない
このいずれかであるようです
今回の場合は、「mallocがエラーを返した」以外の2つの条件のいずれかによるものであるでしょう
ちなみにこのいずれかの条件を満たすと、--sidオプションによる分離処理はOFFとなり、すべてのPIDをスルーするようになるみたいです
6番の問題が発生する条件は、
・最初に読んだデータの中の最初に現れたPATから選択されたPMTが0個であった
のようです
今回の場合は、最初に現れたPATがパケットエラーにより正常ではない場合に、この問題が発生していると考えられます >>470
ご返信有り難うございます。
はい、付けてますので、付けないでテストしてみました。
5秒削られるとかはなさそうですが、PIDの数とドロップがとてつもない数になっています。
PIDは500オーバーとかになってます。
見た感じ動画には影響なさそうです。
何かわかりますでしょうか。 >>446
Raspberry Pi 2BにS1UDを2本繋いだ環境でswapをoffにして録画させてみたのですが、16日の未明にフリーズしました
約12日間ほど持ちましたが、swapをoffにしない状態とあまり変わりない(2〜4日延びた程度)ので、意味が無いのかもしれません
すみません 作者さん、お手数をお掛けしてすみません。
テスト回数は少ないのですが確認したことを載せます。
469に書いたrecpt1core.cの該当箇所ですが、
PLEXと同じような感じで四回C/Nを繰り返すようにしてみました。
結果は、当該局でも問題が起きなくなったようです。
もう一パターン、C/Nを1回だけにして後は同じだけの時間(1秒)開ける、というのをやってみたのですが、
こちらはダメでした。
どうやら、定期的にアクセスして録画につなぐ必要がありそうです。
とりあえずはrecpt1を弄るこれが簡易的な回避方法にはなりそうです。 >>470
recpt1の--sidオプションの不具合を疑っていました。
px4_drvの作者さんが>>472で説明されてますが、recpt1のtssplitter_lite.cは
transport_error_indicatorの値をチェックしてなさそうなのでpx4_drvのように
先頭付近に内容が化けたPATパケットが出てくると誤動作する可能性があるかも?
こっちだとチェックしてますしね。
ttps://github.com/u-n-k-n-o-w-n/BonDriverProxy_Linux/blob/master/util/splitter.cpp#L394-L395
>>473のTSをBonDriverProxy_Linuxのsplitterで問題なく分離できるのならtssplitter_lite.c
の問題だろうと考えられますね。
もちろん>>475の対処でうまく行くのならそれが良いと思います。
テストありがとうございます。 >>471-472
>>476
ご返信ありがとうございます。
「今日は時間を取り戻さなきゃ」とか思っていたのですが、
ヒントをもらっていたので試しちゃいました。
(>>198を読んだときにソースを見たことはあったのですが、そのときは挫折してました。)
結果は、transport error indicatorしか見てませんが良好のようで、5秒削られることもなく、
tsselectで見てもドロップの数は相変わらず凄いのですがPIDの数は正常(のはず)になってました。
transport error indicatorだけで良いのかは時間のある時にでも調査してみようと思います。
みなさん、ありがとうございました。
(小声ですが、この三日間、驚きっぱなしでした) とりあえずtssplitter_lite.c の情報だけ出しとく
オリジナルPMTが複数パケットで構成される場合、その複合処理にバグがあり
後方パケットの内容が解析できない
ただし映像・音声などの主要PID情報は、先頭パケットにほぼ入っているので
字幕・データ放送などが不要なら運用上問題ない
PMT PATを取得する際にそれぞれのCRCをチェックしていない
これらの問題を修正して実運用してましたがソース公開するための整理をする
時間が取れなかったのでいままで放置してました
tsselect相当のエラーチェックと先頭ゴミ捨ても入っているので来週末あたりに
公開できればと murdoccutでエラー箇所を探したほうがひと目でわかって簡単だけどな。 エラーチェックしてんだから当然、結果を標準エラー出力します
フロントエンドは、それを参照してログを残す
定型作業なんだから自動化省力化しなきゃね
いちいちMurdocCutterやらtsselectなんか使ってたら時間と電力の無駄です 使ったこと無いのか?murdoccutだと、エラー箇所のスクショがみれるからエラー箇所が一目わかって捗るぞ。
どのみちlinuxでは動かないからスレチなんだけどさwというかlinux環境ってTSや動画等でGPL系の編集環境が乏しい気がする。 ■ このスレッドは過去ログ倉庫に格納されています