【視聴・録画】Linuxでテレビ総合16 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
PT3でDlifeが見れません(分配しているテレビでは見れています)。
BS23がLockされないのが原因のようですが、何か対策はあるでしょうか?
$ dvbv5-zap -c /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdbs.conf -a 0 -x BS23_0
using demux 'dvb0.demux0'
reading channels from file '/usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdbs.conf'
tuning to 1471440 Hz
ERROR Need a LNBf to work
RF (0x01) postBER= 0
Sync (0x0f) C/N= 9.87dB postBER= 0
Sync (0x0f) C/N= 9.18dB postBER= 0
RF (0x01) C/N= 9.21dB postBER= 0
Sync (0x0f) C/N= 11.87dB postBER= 0
...
...
BS21まではLockされます。
$ dvbv5-zap -c /usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdbs.conf -a 0 -x BS21_0
using demux 'dvb0.demux0'
reading channels from file '/usr/local/dvbconf-for-isdb/conf/dvbv5_channels_isdbs.conf'
tuning to 1433080 Hz
ERROR Need a LNBf to work
RF (0x01) C/N= 8.99dB postBER= 0
Lock (0x1f) C/N= 16.79dB postBER= 0
$
OS: Ubuntu 18.04.1 LTS 一番上の周波数だしね
PT3内でさらに分配するんだし...
分配器やケーブルで減衰してたりするんだろうか >>286 >>287
信号が弱いとチューニングできないんですね。。
そのへん見直してみます。
ありがとうございました。 >>249
御教示願いたいのですが、うちはフレッツ・テレビなのですがLNB電源を常にオフにするにはどうしたら良いのでしょうか?
dvb-fe-tool などを使って設定するのでしょうか 使うアプリによるんじゃないの
>>249 にあるように ISDB向けパッチ当てmpv ( https://github.com/0p1pp1/mpv )の場合は
channels.conf設定ファイルに明示的にLNBについて指定しないことでずっとOFFにできるし
dvbv5-zapの場合はできない
tvheadend + kodi (pvr.htsプラグイン) の場合は、tvheadend側でLNBについても色々設定できた気がする
# そもそも自動でON(&OFF)されても 電力の無駄以外とくに問題ないと思うけど 古いrpiで動かしてたepgstationが入ったSDカードを新しいrpiに差し替えたら番組表が12時間ズレたまんまになってんだけど、これリセットするにはどうしたらいいすか
rpi-configで時間は日本時間に直してdateコマンドでも正常なんで困っております みなさんレスありがとうございます
mirakurunの再インストールで復活しました!
(^^)v fedora 29(kernel 5.0) にしたらPT3のドライバのmakeが通らないんだけど、makeできた方いますか?
makeしようとしてるのは https://github.com/m-tsudo/pt3 のドライバです。
# uname -r
5.0.3-200.fc29.x86_64
# make
make -C /lib/modules/`uname -r`/build M=`pwd` V=0 modules
make[1]: Entering directory '/usr/src/kernels/5.0.3-200.fc29.x86_64'
CC [M] /usr/local/src/pt3/pt3_qm.o
/usr/local/src/pt3/pt3_qm.c: In function 'pt3_qm_set_frequency':
/usr/local/src/pt3/pt3_qm.c:519:2: error: implicit declaration of function 'do_gettimeofday'; did you mean 'do_settimeofday64'? [-Werror=implicit-function-declaration]
do_gettimeofday(&begin);
^~~~~~~~~~~~~~~
do_settimeofday64
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:277: /usr/local/src/pt3/pt3_qm.o] Error 1
make[1]: *** [Makefile:1557: _module_/usr/local/src/pt3] Error 2
make[1]: Leaving directory '/usr/src/kernels/5.0.3-200.fc29.x86_64'
make: *** [Makefile:12: pt3_drv.ko] Error 2 >>296
PT3 は DVB ドライバでいいだろ? >>296
ttps://github.com/masa23/pt3/commit/9faf6c93d2c46764a798aa45b353282e0d03438b > #define TIME_DIFF(begin, now) now - begin / 1000000
ヤバいな(事故のもと) >>297
昔はchardev版がデフォでDVBはダメな子扱いだった。
chardev版で苦労して何とか映ったと思ったのにいつの間にか映らなくなったりした。
嫌気がさしてやめちまったが、DVBだとそういうことは起こりにくいわけか。 >>299
確かにやばい
てかそれ以前にnowの方は1/1000000にならん気がするけど大丈夫なんか? 大丈夫じゃないだろうね
( ( now - begin ) / 1000000 )
にしないと PT1,PT3のDVBドライバはメインラインカーネルにマージされて継続的に保守されているからね
カーネル内の各種APIやらの実装が見直しされたときに軽微なものだったら
ドライバのメンテナー当人でなくても手直ししてくれるかも、と期待できる
メンテナの保守が適当すぎると除去・追放されるが。
外部の野良ドライバは製作者がずっとがんばり続けるしかない
止まったら即氏ぬ プレ糞のdvbドライバをめざして(無謀)
chardevドライバとメインラインに入っているaf9035 dvbドライバを解析しているんだけど
プレ糞 USB: 1本のパイプ(エンドポイント)に全ストリームチャネルのTSをぶっこんで転送
mainline dvb: 1本のパイプを1つのストリームチャネルで占有
と作りが違うのね...
USB DVBのフレームワークが1パイプ1ストリームの前提になってるから
その枠組みに噛み合いませんです
ゆくゆくはmainlineへ、などと欲を出さずにchardev版をdvb化移植する方向で考えるほうが
シンプルで近道のように思へてきた 同じaf9035なんだし
af9035の初期化・設定部分と (復調ICやチューナICの)サブドライバのアタッチ部分を追加・修正できれば
その辺の構造はとくにいじらなくても自動的にストリーム毎のUSBパイプになるってことはないかな.. ならないです
af9035 dvbではsync byteが0x47固定の設定なので区別できない。
dvb実装はUSBで入ってきたものをそのままDVBのフレームワークへ渡しているだけです。
chardevさんは入力ごとにsync byteを別の値に設定して、その値でどのストリームなのかを識別して
当該のストリームのバッファへ入れている。 >>308
fuse_b25みたいなラッパー作った方が幸せになる人増える気がしますね、板がそんな仕様だとすると。
ラッパー自体作ろうかと前から思ってるけど、他のもの抱えてるんでなかなかやる気にならず…他の方がやられるなら有り難いです。PT3のchardevからも使えるようにするなら、多少はデバッグ程度は協力できますよ。
TBS社(日本の放送局じゃない方)のボードのDVBドライバーが、V4Lの本家の方では入り始めてるんで(勿論、GPLで)、
PT2や3がダメになったら買うかどうか迷ってる身で、おこがましい事いってすいませんm(_ _)m af9035というよりブリッジチップのIT9305自体は↓みたいに幾つかのaggregation methodを持っているみたいだから
§ TS aggregator
- 3 proprietary methods to support TS aggregation
- 5 TS inputs are supported
- Cascade mode is supported to aggregate at most 16 MPEG2 TSs
設定次第でまぜこぜ出力とストリーム毎の出力と変えられそうだけどね
実際af9035.c::it930x_init()でも "ts0_aggre_mode" とか"ts0_sync_byte"とかEP5 Enable とか見えてるし...
まあ それ(ストリーム毎EP)ができたとしてもaf9035は1TS/ボードっぽいから4TS化するには
(PT1/3みたいに)初期化時に4つのアダプタを作成するような風にしないといけないので
改修部分は結構あることにはかわりないけど 最近調べてなかったけど、MediaSDKとvaapiどっちが良いのだろうか。
ffmpegのサイト見に行ったら、MediaSDKは特別な要件ある場合だけにしろ。って言ってたけど。
kabyのxeon買ったから遊んでみるか。
iHDもドライバの機能色々付いてて楽しそうであったし。 Ubuntu 18.04ならaptでvaapi対応ffmpegが入るから楽 ちょっとスレ違いな気がするけど、ここの方が同じような環境で使ってる人が多そうなので聞かせてください。
WindowsではRecTask、Linuxではrecdvbで録画した番組をminidlnaでLAN内で公開してるんだけど、
これをiOSやAndroidで見る場合にお薦めのクライアントアプリないですか?
定番のVLCは、ファイルのシークがうまくいかない。
他もいくつか試したけど、デインタレースができなかったり縦横比が正しくなかったりで、しっくりくるものが
見つからず…。 PT2が余ってるので録画サーバ作ろうと思うんだけどlinuxのデストリはなにがいいですかね? dlna出来るか知らんがiosならnplayer
androidはmpeg2ハードウェアデコーダが有効ならmx player >313
うちは dlnaサーバを emby にしてブラウザでみてる。
fire stick では kodi 使ってる。 デインタレースきちんと出来るの端末に期待するのもしんどいので、サーバ側でやっちゃった方が良いかも emby初めて知った
今plex使ってるから今度比べてみよう みなさん、ありがとうございます。
mxplayerは入れていたのですが、なぜかうちの環境ではちらほら再生できないTSファイルがあるのでした。
家族の端末に入れるのでシンプルなものが良いなと思っていたのですが、nplayerはいいですね。
iOSの無料版で試しましたが、Android版もあるようです。
実はembyも使っていて、出先で録画を消化するのに重宝しているのですが、アプリ内課金なので
家族間で共有できないというケチ心が。 >>315
ubuntuですか。guiいらないならdebianでもいいんですかね GUIなしならDebianもUbuntuも大差ない
うちはvaapiでストリーミングするのにDebianだとドライバが古いのでUbuntuにしてるが Ubuntuはupdateが勝手に走るから設定しないと危ない
ltsがサポート期間10年になるんだっけ?録画鯖にはピッタリ Manjaroな俺はAPUでHWエンコ出来ない不具合が再発してるので
LTSまじ大事
Intelでもvaapi経由でハングするから最新が地獄と化しておる ためになるスレですね。ありがとうございます。
そういえばうちの前のサーバーは12LTSだった >>327
じ、10年?!
CentOS並みになるのね ついカッとなって勢いに任せて OSS な Intel Media SDK 環境を構築した。
【環境】
CPU: Intel(R) Xeon(R) CPU E3-1225 v6
OS: arch linux
【AURから入れるもの】
intel-media-sdk
intel-media-driver
libmfx
ffmpeg-qsv
X11を立ち上げる。(ドライバは KMS の i915)
・ドライバ設定
/etc/modprobe.d/i915.conf
options i915 enable_guc=2
これでとりあえず Media SDK のサンプルコードによるエンコード、デコードが動くようになった。
だがしかし ffmpeg からのエンコードが動かん。
ffmpeg はこんな感じで死ぬ
[h264_qsv @ 0x561825658700] Selected ratecontrol mode is unsupported
[h264_qsv @ 0x561825658700] Current frame rate is unsupported
[h264_qsv @ 0x561825658700] Current picture structure is unsupported
[h264_qsv @ 0x561825658700] Current resolution is unsupported
[h264_qsv @ 0x561825658700] Current pixel format is unsupported
[h264_qsv @ 0x561825658700] some encoding parameters are not supported by the QSV runtime. Please double check the input parameters.
-hwaccel qsv -qsv_device /dev/dri/renderD128 をつければOKって書き込みもあったんだけど、ダメだった。
入力バッファ大きくとるといいよ。っていう書き込みもあったが、試したけどだめ。
なんか初期化コードで致命的にコケてるように見える。
yuv を入力データにしても同様に動かないし。 ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -c:v mpeg2_qs
v -init_hw_device qsv=hw -i input.ts -qsv_device /dev/dri/render
D128 -c:v hevc_qsv -look_ahead 0 output.mp4
これで動いた。デコード、エンコードを qsv に指定。
mpeg2デコーダが具合が悪いって話なのか? gdb で追っかけてみた。
MediaSDK-intel-mediasdk-19.1.0/_studio/mfx_lib/shared/src/libmfxsw_encode.cpp
に入っていったところで、動きに差がある模様。
MFXVideoENCODE_Query()
L564 の mfxRes が decoder が qsv な時と native なmpeg2な時で異なる。
qsv:
(gdb) p mfxRes
$9 = MFX_ERR_NONE
native:
(gdb) p mfxRes
$7 = MFX_ERR_NOT_FOUND
MFXVideoENCODE_Query() に渡されてくる引数そのものは一致しているのだが…
変だね。MFX_ERR_NONE と MFX_ERR_NOT_FOUND の違いについても要確認。 intel-media-sdk/src/MediaSDK-intel-mediasdk-19.1.0/_studio/mfx_lib/encode_hw/h265/src/mfx_h265_encode_hw.cpp
MFXVideoENCODEH265_HW::Query
509 mfxStatus lpsts = SetLowpowerDefault(tmp);
ここの戻り値がqsv decode, native decode の時に違っている。
なぜ違う値(MFX_ERR_NONE(対応)、MFX_ERR_NOT_FOUND(非対応))になるのか不明。
ファームのバグのような気がしなくもない。
sample encoder は動くからそれはそれで気持ち悪い。
i915 には enable_guc=2 とかのパラメータは渡してあり、
dmesg 見る限りファームアップロードしたよって出てるしなぁ…
media sdk のサンプルコード読んでみるか。 >>327>>331
5年だったサポート期間が10年に延びるんだけど延びた分が無料かどうかは不明
Ubuntuのサイトにはこう書かれてる
https://jp.ubuntu.com/download
Ubuntu Desktop 18.04.2 LTS
2023年 4 月までの5 年間、無料のセキュリティアップデートおよびメンテナンスアップデートが保証されています。 >>335
デコードしたフレームのバッファのタイプが違うんじゃないの
vaapiでも -hwaccel_output_format vaapi を付けて
vaapiが読める形のバッファにしてエンコーダにアップロードしないとだめだし...
( https://wiki.libav.org/Hardware/vaapi のSurface Formatsの章みたいに) ffmpeg の qsv encode ができない問題だけど、ffmpegのコマンドライン解析している部分の問題っぽい。
コマンドライン解析部分で encode 時のみqsv使うというケースでは、
qsv の初期化処理を呼び出していないので、encode しようというタイミングで初期化されてないので死ぬ。
qsv decode時には初期化処理を呼び出しているので、decode -> encode を qsv でやる分には問題はない。
初期化していない箇所は libva 依存の部分なので windows では問題になってない模様。
もうちょっと調べて頑張ってパッチ作れたら作る。
write_option() 読むの嫌だなぁこれ。 ffmpeg コードトレースして萎えてきた
decoderは手厚くケアされてるのでうまく動いてる
encoderは手厚くないから動いてなさそう
MFXInit乱発し過ぎだし、各所でinit関数呼んだ結果とっ散らかりすぎ
セッション情報コピーできてないし。
どうやって落ち着かせるか。。。 ISDB向けパッチ当てmpv のfor Windowsを作って下さい gdb とか使わなくても、strace とかで、API のエラーメッセージを見れるのでは? >>341
それ決められたデバッグログしか出せないじゃん 屋内と車内で、ラズパイ3ノーマルといっしょに持ち運びしていた
さんぱくん外出がお亡くなりしたみたい。
ラズビアン ストレッチ上のrecfsusb2n では、
デバイス検出はされるが、電波強度がweak level 0で使用不可。
win10の純正ソフトで、chスキャンできず。
残念無念。
手持ちのPX-S1UD v2だと、win10 tvtest、ラズビアン ストレッチ上の recdvbとも動作するので。 join logo scpがwineで動くらしいな EPGstationが上手く動かなくなってるなと思ったら
なぜか5個くらい立ち上がっていやがったわ…… Mirakurun+EPGStatinでBCASカードを使う場合、スマートカードリーダー2台用意してB-CASカードもそれぞれ挿して録画行っても、B-CASカードへのアクセスって1台分にしか行われないのかな?
プレクスのボード毎分けたいんだけど… >>349
答え持ってないけど、何で分ける必要あるんや? >>350
地デジ+BSで最大16同時録画したいから
カードリーダーの交換とUSB差込口変更で12多重時に出ていたDropは消えたが、16多重だとDropする時がまれにあるから試したいんや 俺も答えは持ってないけどrecpt1がリーダー指定できないなら駄目なんじゃ
物理的に、あるいはコンテナとかでサーバ分けてmirakurunの層でrivarun経由で束ねるくらいしか libaribb25のソース見てもB-CASカードの初期化はデバイス意識してないな〜とスマホで見てたけど
>>352
の見解通り、仮想かコンテナで個別にMirakurunを立ててMirakuruns機能で束ねるしかないのかな、とは考えてました 全く詳しくないけどpcscd?の層で既にカードを区別してないのかも
複数刺してpcsc_scanしたら複数出るのかな >>351
なるほどー。
ドロップの原因がカードリーダーかは特定出来てるん?
ちな、全録?っぽい運用してるならソフト環境教えてちょ 切り分けとして試したいんじゃないの
ざっとググっても1サーバで複数リーダーを使い分けてる人は見当たらんね うむ、俺ではわからんことがわかった
mirakurunもやめて暗号のまま録画、別サーバで非同期にb25復号だな(発狂 軽く調べて見たけどpcsc機器が鬼門っぽいな
そもそもリーダーの区別がつかないとかの話があった >>355
あくまでどこまで問題なく動くかを負荷テストした時の構成ですが
・Ubuntu18.04、px4_drv最新版、Mirakurun最新版、EPGStation一つ前のVer
・物理サーバー、PLEX PX-Q3PE4 2枚をUSB2.0カード2枚にそれぞれ接続、カードリーダーはオンボUSB2.0接続、録画データは専用SSDへ書込み、サーバーリソースを監視ツールで確認(CPU,メモリ,IOのリソース不足は無し)
既にテスト環境はばらしPX-Q3PE4 1枚で本運用中ですが、ふと思いついたので聞いてみました
>>356
>>359
HPやSNSを検索してもやってる人は見当たらなかったのでここにも書いてみましたが、やっぱりダメそうですね
お付き合いいただきありがとうございました winscard APIのSCardConnet()をフックして
(指定されたリーダ名は無視して)ラウンドロビンでリーダを選んでconnectするような
ライブラリを書いて LD_PRELOADするとか駄目なんだろうか... ubuntu 16.04LTSを久々にアップデートしたら、PT2のドライバが入らなくなった。
pt2_drvのコンパイルはできるけれどもmodprobeでexec format errorとなって、
ロードできない。
誰か同じ症状の人いない? >>362
これから16.04 LTSとPT2で録画鯖組もうと思ってたから気になる >>362
バックアップしてないの?
systembackとかTimeShiftとかで >>366
fuse_b25とDVBドライバー組み合わせて、recdvbで運用するんではダメですかね? 今ubuntu18.04とPT2を使っているのですが
kernel5にしたらchardev版のドライバが入らなくなりました。
>>366にある修正で一時は動いたのですが、
アップデート後また同じ症状になりました。
DVB版ドライバではBS録画すると途中で切れちゃうのでなんとかしたいのですが
解決方法ありませんか? アップデートが300あると言われると
そろそろ我慢ができない… バックアップなりスナップショットなりですぐ戻せるようにしとく 俺もDVB版PT3ドライバでDKMSを使ってみたい。
過去何回も忘れかけたころに再開して見るが、初回のビルドで失敗している。
DVBではないpt3_drvドライバーならビルドまで成功したときもある。 >>375
すでにカーネルにマージされてるので…(´・ω・`) あ、そうでしたね。
しかしfedoraなど(確かRed Hat系)はリポジトリからupdateしたカーネルだと、
このモジュールが無効化されていました。
そのため、毎回モジュール化「m」にして再構築しています。 >>369
chrdev版pt3のドライバの修正はdo_gettimeofdayがkernel5でなくなったものでpt1では使用してないので関係ないね
chrdev版pt2本家http://hg.honeyplanet.jp/pt1/をkernelアップデートの度に必ずビルドし直せば動くと思う
当方はREV141:c8688d7d6382から逐次自分で修正してkernel4.15.0で動かしている
この機会に本家最新版の履歴をチェックしたが気になる点が2つ
1)https://gist.github.com/akimasa/a2fc1fc098dee1e27ab88fab3ff27d23#file-_pt2-driverbug-md
のバグフィックスが反映せれてない
epgrecを運用していてCannot tune to the specified channelのエラーが出るようになったので以下のパッチで改善するか様子見
--- pt1-c8688d7d6382/driver/pt1_pci.c
+++ pt1-c8688d7d6382-Fix/driver/pt1_pci.c
@@ -404,13 +404,14 @@
channel->req_dma = FALSE ;
wake_up(&channel->ptr->dma_wait_q);
}
- mutex_unlock(&channel->ptr->lock);
/* send tuner to sleep */
set_sleepmode(channel->ptr->regs, &channel->lock,
channel->address, channel->type, TYPE_SLEEP);
schedule_timeout_interruptible(msecs_to_jiffies(100));
+ mutex_unlock(&channel->ptr->lock);
return 0;
}
2)recpt1の4Kチャンネル移動によるトランスポンダ変更でrecpt1/pt1_dev.hのスター・チャンネル3の部分は
+ { 7, CHTYPE_SATELLITE, 2, "202"}, /* 202ch:スター・チャンネル3 */
でなくて
+ { 7, CHTYPE_SATELLITE, 1, "202"}, /* 202ch:スター・チャンネル3 */
のはず
有料チャンネルなので誰か確かめてほしい >>369
DVB版で途中で切れちゃうのは kernel5 系だけですか? ubuntu18.04 + PT2 + DVB版を使っている環境があるので、
試しに kernel5 にあげてみてテストしてみます。
5.0.0-25-generic kernel5 にしたところ同じ症状になってふと kernel 4.18 を試した時を思い出しました。
>>233
ここの流れの不具合ではないでしょうか。
5.0 では不具合直ってなさそうです。
>すでにパッチは投げてあるけど 次(5.0)には間に合わないので 次の次(5.1)ぐらいだと思う
>バックポートされるかどうかは不明... >>233 の不具合を入れ込んだ本人ですが
5.1にしか適用されてないみたいです
(5.0や4.x系にはバックポートされていない)
すみません 煽りじゃなくて純粋に疑問なんだけど、なんでdvb版使わないの?
recdvbやuna版recdvbならrecpt1の置き換えは可能だし
カーネルアップデート毎にドライバ気にするくらいならコマンド切り替えた方が楽じゃない? 一度動く環境ができちゃうと変えたくないよね
dvbのいけてないところはdvbv5-zapの出力がmirakurunのログを埋め尽くすことだけど、recdvb使えば違うんかな ■ このスレッドは過去ログ倉庫に格納されています