X



Tvmaidについて語るスレ_7_ ©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。 転載ダメ©2ch.net
垢版 |
2017/07/06(木) 00:56:42.41ID:fLuU1BF90
Tvmaidについて語るスレです。DTV板にスレ立てると落ちやすいのでソフト板にお引越し。

Tvmaidは、Windows用録画予約プログラムです。
TVTestを使用して、番組表の取得、録画を行います。
ttp://nana2.sarashi.com/
Tvmaid MAYA(開発中)
Tvmaid RIOは、タッチデバイス用のUIとストリーミング対応(公開終了)
Tvmaid EXおよびTvmaid YUIは、Tvmaidの改良・進化バージョン(公開終了)

1.Tvmaid YUIの派生「mark10als」版
 "Tvmaid YUI 1.7a mod by mark10als at 2016/05/02"
 ttp://www1.axfc.net/u/3660193

前スレ
http://mevius.2ch.net/test/read.cgi/avi/1485820044/ 👀
Rock54: Caution(BBR-MD5:e0bffe56a78b676895fac41f57f0ed6b)
0199名無しさん@お腹いっぱい。
垢版 |
2018/11/02(金) 14:18:31.44ID:6dP791yF0
Yui使ってるよまだ
MAYAにしようと思っても起動できない (ジョボン
なんかやり方あるん?
0202名無しさん@お腹いっぱい。
垢版 |
2018/12/22(土) 19:40:42.32ID:1RILbfjL0
テスト
0203keii
垢版 |
2019/01/05(土) 15:32:03.95ID:cgUGXQ080
TvmaidMAYA release 30 用の『週間番組表』を作ってみました。
# 作ったと言うより,MAYA改からの逆移植

https://www.axfc.net/u/3949514
TvmaidMAYA wepg.7z

やっつけ作業のぶっつけ本番って感じの品物なので,おヒマな方推奨。
動かなくっても御容赦を…
0204名無しさん@お腹いっぱい。
垢版 |
2019/01/21(月) 07:14:50.88ID:Yx/bjatf0
PX-MLT5PEっていう地デジ+衛星x5っていうチューナーカードが出たみたい。
これって対応してるのかな?
使っている人、教えて。
0209名無しさん@お腹いっぱい。
垢版 |
2019/02/26(火) 11:25:03.65ID:32kTs0WL0
なんでPCI-EでTSデータを転送しないんだよ……まーたUSB 2.0かよ。
これはPLEXというよりもDigibestの技術力が無いからか?
0210名無しさん@お腹いっぱい。
垢版 |
2019/03/08(金) 19:58:11.84ID:gbudBVIr0
保守
0211名無しさん@お腹いっぱい。
垢版 |
2019/03/22(金) 08:27:08.66ID:uPdAze5g0
安定して動いてるからレスが少ないな、良い事なんだけどなんか寂しい。
0212keii
垢版 |
2019/04/02(火) 10:03:27.44ID:ytkhnz1a0
便りが無いのは元気な証拠?かな(笑
もう,やることは,検索キーワードの更新とHDDの整理くらい。

それと私の場合は,自改トラブル対応かな…
ちょっと前まで,Tvmaid R30 改 +PT3x2で,録画失敗が稀に出てて,PT3Ctrl.exeを常駐にしたら解決した。
Tvmaidで録画終了時,サムネ生成するように改造したけど,録画PCがしょぼいので,複数同時起動は重すぎたっぽい。

あと,Tvmaidから無理やりツイートしたり,Googleカレンダーに予約情報を押し込んでいるので,仕様変更が無いことを祈るのみ(笑
0213名無しさん@お腹いっぱい。
垢版 |
2019/04/08(月) 22:20:47.79ID:GLC/2E/R0
fire tv stick視聴 で重宝してます。あえて要望2件です。
1.チューナーが開けませんエラー表示で、ok押下が無反応で、抜け出せません。ブックマークから番組表urlを呼び出して対応してます。
2.カーソルキーでの操作。
0214名無しさん@お腹いっぱい。
垢版 |
2019/04/08(月) 22:33:17.55ID:GLC/2E/R0
連投失礼します。
1は、配信出来ない状況で諦める事なので、その事はさほど気になってません。
0215keii
垢版 |
2019/04/10(水) 09:37:25.24ID:s59HN5Mf0
>>213
> 1.チューナーが開けませんエラー表示で…
これは,PCやスマホでも,同様の現象が発生します。
# こちらもFire TV Stick(第2世代)+FireFox for Fire TVで試してみました。

中の人が,意図的(リロードさせる為?)に,このようにしている可能性がありますが
以下4行(Liveだけなら2行)の末尾「 , ""」 を削除すれば,”OK”で抜けられるようになります。
# 例えば,message, ""); → message); な感じ。

auto-reserve.tag.html
381 Dialog.alert("自動予約数の取得に失敗しました。理由 : " + ret.message, "")
live.tag.html
279 Dialog.alert((message == null ? "不明なエラーです。" : ret.message, ””)
486 Dialog.alert("チューナの取得に失敗しました。理由 : " + ret.message, "")
record-play.tag.html
458 Dialog.alert(message == null ? "不明なエラーです。" : message, "");

修正後,即時反映の為,ブラウザのキャッシュクリア必須。

> ブックマークから番組表urlを…
〜:20001/maya/index.html#live をブックマークして貰うと,直接 Live な画面を開く事ができます。
index.htmlの後ろ,#〜が開く画面になります。(”index.html”と何も付けないと#epg(番組表)になります)
#の後ろの文言は,PCなどのブラウザで各ページを開いて確認してみて下さい。
0216名無しさん@お腹いっぱい。
垢版 |
2019/04/24(水) 21:22:44.88ID:rKp/D0ea0
Tvmaid 使っていませんが、質問させてください。
Amatsukaze というエンコード ソフトがありますが、これと連携できますか?
Tvmaid 経由で TvTest に録画させて それを Amatsukaze で mp4 ファイルに
変換してくれるまでを自動化できればいいです。
0217keii
垢版 |
2019/04/25(木) 11:07:52.68ID:w/lY7O7D0
>>216
Tvmaidには,"録画後プロセス"って設定が有って,録画終了時にbatやexeを起動できます。
その際,引数として録画したTSファイルのフルパスが渡されます。

Amatsukazeの "EDCB用録画後実行バッチ" で作成したバッチファイルを,以下のように修正すれば
AmatsukazeのQueueに押し込むことが出来ると思います。

-f "$FilePath$"

-f "%1"

Amatsukazeは使った事がないので,何かの取っ掛かりにして頂ければ幸いです。
0219名無しさん@お腹いっぱい。
垢版 |
2019/04/26(金) 19:15:03.52ID:RtPXWw6V0
こんど PLEX チューナー + TvTest + Tvmaid + Amatsukaze を試してみようと思います。
Amatsukaze の したらばスレ 知りませんでした。 とても参考になります。
ありがとうございました。
0220名無しさん@お腹いっぱい。
垢版 |
2019/05/01(水) 21:58:04.83ID:N01zRkez0
fire tv でsilkブラウザでwan視聴してます。
一般的にqsv変換の配信はhlsとpdどちらが安定ですか。
.
それからチューナー受信がたまにドロップするのと、上り回線が突然落ち込み変動が激しい劣悪環境です。有利はどの配信方法ですか。
0221名無しさん@お腹いっぱい。
垢版 |
2019/05/22(水) 23:41:40.80ID:ThOvbobE0
たまに保守
0223名無しさん@お腹いっぱい。
垢版 |
2019/06/19(水) 18:10:58.67ID:wxJCMNJL0
いつか保守
0227名無しさん@お腹いっぱい。
垢版 |
2019/06/21(金) 20:22:49.45ID:NW7kECso0
モチロン、躾がいがある所やけど…ぉ?
週間番組表とか無い機能を…
”調教(実装)”、”調教(実装)””調教(実装)”!
お好みmaidに仕立て上げる… (ぐへへ?ぇ違うん?

ただ、やりすぎると、”M”ayaが反転、”S”aya化するぽい?(嘘
0233名無しさん@お腹いっぱい。
垢版 |
2019/08/04(日) 22:38:35.71ID:5wh+JyKX0
TvRemoteViewer_VBの番組表取得用に入れたけど
こっちのほうが番組表も録画リストも見やすいし設定もシンプルで素晴らしい
あっちは現在放送中の番組のみ表示でTSファイルから番組内容取得もできない
QSVにも対応してておまけに録画もできるからライブ再生と録画視聴は乗り換えた

TVTest64bitに非対応
TSファイルが読み取り専用になっていると登録に失敗する
の2点は改善してもらえたらありがたい
それとセグメントファイルの保存先のオプションや
EDCBみたいにEPG取得時に放送波時間でPC時計を同期できるとうれしい

あとは録画を整理したいのでこんな感じで

録画フォルダ A;B
TSフォルダ C;D;E
サブフォルダも含める X

録画先Aが使用不可ならBを使う
「TSファイルを登録」するとA,B,C,D,EのTSを登録
みたいに録画先と保管先に複数フォルダを指定できて
サブフォルダも見に行ってくれるオプションがあると最高
録画先複数は条件付けが大変そうだからシンプルに

録画フォルダ A;B;C

みたいにして録画はAでTS登録はA,B,Cみたいなのでもいいかも
0234keii
垢版 |
2019/08/05(月) 15:31:23.82ID:WKuSl89w0
『中の人』… じゃなけど

『TVTest64bitに非対応』
バイナリは配布されていませんが,自ビルドすれば動かす事は出来ます。
(先ほど,やってみた。 TVTest0.9.0(x64)+Tvmaid Rel30 mod14.6(x64))
ただ,使用に耐えるかは不明。
Hint: lib\System.Data.SQLite.dllが32bitです…

『TSファイルが読み取り専用になっていると登録に失敗する』
TsFileInfo.cs内 TsFileInfo()の
Title = Path.GetFileNameWithoutExtension(path); で
例外がスローされました: 'System.UnauthorizedAccessException' (mscorlib.dll の中)が発生
なぜ,この関数がダメなのかは調べてないので不明。

『放送波時間でPC時計を同期』
私もそう思った時期がありましたが,TOTから取ってくると最大+/-500mSの誤差が有るようです。

『録画を整理したい』
Tvmaidに多くを求めるのは酷かと…
ただ,予め保管先満杯時の予備保管先を指定できると安心できるかと思いますが…
# 予備とかサブフォルダとかは,自前で載せちゃいました…
# ついでに『Mediaindex』的な機能とかも…
0236keii
垢版 |
2019/08/06(火) 08:05:17.13ID:lD2YQ+lY0
>>235
MAYAとの組み合わせで,0.8.2は未検証ですが…
TVTest0.9.0は,0.7.2fixと比較して起動時の初期化プロセスが若干変わっています。
この為,『うまく動いている』様に見えるだけで,実は,正しく動作していませんでした。

MAYAは,Rel 28.1で,TVTestプラグインに修正が入っています。
また,(mark10alsさんの)YUIのソースを覗いてみましたが,修正前のMAYAと同様の問題が発生しそうです。

# "Tvmaid 0.9.0 トラブル"でググると,ネタが出て来ます。
# ”part2”のページで,答え合わせ(?)してます。
0238名無しさん@お腹いっぱい。
垢版 |
2019/08/06(火) 18:56:24.07ID:NrVa4M2R0
EPG取得時に視聴中だと取得も視聴も失敗するからリトライするか空きチューナー使うか待つかして

>233
録画フォルダのサブフォルダも検索する機能は確かにあるといいかも
時計は放送波のずれ>TOTのずれだろうから録画鯖にはPC時計より放送波時計って気持ちはわかる
0239keii
垢版 |
2019/08/08(木) 17:55:05.14ID:Fq5wOb4/0
>>238
MAYAのソース見てみましたが,録画予約実行と番組表取得は,折り合いをつけて動作する様になっていますが…
Live視聴は,蚊帳の外の様です。
普段,視聴機能は使ってないので気にしてませんでしたが,録画予約とバッティングすると,非常にマズそう…
# もしかして,Web UIで選べない?

Tvmaidを二重起動して,視聴専用を用意するとか… (チューナーの無駄遣い?)
ソース修正して自ビルドするとか…
0240名無しさん@お腹いっぱい。
垢版 |
2019/08/12(月) 14:13:50.14ID:A9Z8xHyU0
Tvmaidは現状で糞安定してて、余計な機能増やして欲しくない
失敗せずに録画出来るって事が一番重要

安定するソフトの組み合わせバージョンなんて固定で良い

読取り専用とか、録画先が利用出来ない場合の処理とか、まったく不要
(本当に利用出来ないのか、遅いだけなのかチェックしに行くだけでも録画失敗に繋がる)
0241名無しさん@お腹いっぱい。
垢版 |
2019/08/14(水) 22:25:45.75ID:euyj1Jjl0
新しいのを使わないといけないって決まりはないから変えたくないならそのまま使い続ければいい

サブフォルダ読みにいくには以下4か所を変更
WebApi.cs
1. 325行目を変更してサブフォルダのTSファイルも削除可能にする
var file = Directory.GetFiles(AppDefine.Main.Data["record.folder"], record.File, SearchOption.AllDirectories)[0];
2. 336行目を変更してサブフォルダのTSファイルもファイルチェック可能にする
var files = Directory.GetFiles(recFolder, "*.ts", SearchOption.AllDirectories);
3. 404行目を変更してサブフォルダのTSファイルも登録する
var files = Directory.GetFiles(AppDefine.Main.Data["record.folder"], "*.ts", SearchOption.AllDirectories);

VideoStreamReader.cs
4. 106行目を変更してサブフォルダのTSファイルも再生可能にする
var path = Directory.GetFiles(AppDefine.Main.Data["record.folder"], rec.File, SearchOption.AllDirectories)[0];

意図的に1を変えないことでTvmaidからは録画フォルダ直下のTSのみ消せるようにできる
サブフォルダのTSを削除しようとしても一覧から消えず削除もされない
自分の場合フォルダ分けした=消したくないファイルなのでそうした
PCでサブフォルダの整理をしてからTSファイルを登録すればいい

あとこの変更には必要ないけど.csprojの"<HintPath>H:\project\TvmaidMAYA\lib\"を"<HintPath>..\lib\"にすればライブラリを相対パスで参照できる
0242名無しさん@お腹いっぱい。
垢版 |
2019/08/15(木) 21:31:05.42ID:cIMT6d0L0
スリープ関連はもっとシンプルにすべき

今のだと自動復帰でなければWindowsに問答無用でスリープされてしまうし、Tvmaidのスリープメニューと自動スリープはOSの機能とかぶるからいらない

手動でスリープ移行とアイドルでスリープする設定はWindowsに任せて、Tvmaidは自動復帰かどうかに関係なく録画中、番組表取得中、視聴中、予約が近い時にスリープを抑止するだけでよい
0243keii
垢版 |
2019/08/16(金) 10:58:35.59ID:pA67DyKN0
>>241
単純にサブフォルダも対象にすると,同一ファイル名が存在した場合,面倒が起きませんか?
# ファイルをサブフォルダへ移動後,リネームしなければ問題ないけど…

>>242
私のところは,ヘッドレスの録画専用機,電源入れっぱなし運用なのですが
WebApi.csに以下を追加,WebUIからもSleep移行を可能にしてます。
# 合わせて,WebUIも加工しています。

public void GoSleep() // WebUIからSleep発行
{
SleepMan sleepMan = new SleepMan();
sleepMan.SetSleep();
Log.Info("WebUI経由で,スリープへ移行します。");
}

TVリモコンからcurlやら出来るデバイスを用意して,WoL/GoSleep出来て便利です。
0244名無しさん@お腹いっぱい。
垢版 |
2019/08/16(金) 20:30:22.69ID:lMNHvU580
情報提供。
ffmpeg の最新版(少なくとも 4.2 以上)を使って Tvmaid MAYA をセットアップすると、字幕があるチャンネルを再生できなくなります。ffmpeg 4.1.4 を使うと問題を回避できます。

最新版の出力の一部。
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Stream #0:2 -> #0:2 (? (?) -> webvtt (native))
Decoder (codec arib_caption) not found for input stream #0:2

4.1.4 を使うとこうなる。
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
0245名無しさん@お腹いっぱい。
垢版 |
2019/08/16(金) 21:06:44.98ID:fN0z7aMF0
>>242
素のTvmaidだと視聴中にスリープ抑止しないから
HlsStream.cs
54行目に挿入して視聴開始時にスリープ抑止設定
SleepState.Stop(true);
138行目に挿入して視聴視聴終了時にスリープ抑止解除
SleepState.Stop(false);
のような変更が必要

スリープ運用はWindowsでするから抑止のみでいいというのはその通り
自動復帰後素早くスリープさせたいなら自動スリープは残してもいい

>>243
同名ファイルの登録は1回しかできないから二重登録にはならない
登録も再生も先に見つけたほうがされる
登録後に録画フォルダ内で移動してもコピー作っても再登録は不要
ファイル名が変わると別物扱いになるから再登録が必要
0246keii
垢版 |
2019/08/17(土) 11:31:52.61ID:nZDK5+UY0
>>244
ARIB字幕対応の為?
#0:2が邪魔っぽいので,*.defの記述に "-map 0:v -map 0:a" を追加すれば行ける?

>>245
>登録も再生も先に見つけたほうがされる…
私にとって,これが厄介なのです(泣

以前,予備フォルダ対応も含め"サブフォルダを対象にする"を載せたのですが
この事もあって,結局,使わずじまい。
# "Tvmaid セットアップ" で,ON/OFF可能にしてます。

今は,Tvmaidに無理矢理載せたMediaindex機能の方で,運用しています。
0247名無しさん@お腹いっぱい。
垢版 |
2019/08/17(土) 15:47:49.15ID:DAOhA0iW0
スリープ・復帰に関しては "おま環" が多すぎてTvmaid自身が面倒を見る必要は無いと思う。
TvRockと同じ過ちを犯して欲しくない。

Tvmaidはスリープ・復帰を管理する外部プログラムを呼び出す機能だけを持っていて、
スリープ・復帰をするのは各自の環境に合わせたプログラムを差替えてやってもらえば良い。
0248名無しさん@お腹いっぱい。
垢版 |
2019/08/21(水) 22:10:32.87ID:BKBmmh1X0
>>245
なぜかスリープ抑止解除に失敗することが多かったので挿入する場所を変えて
void RemoveSegment()の中のFile.Delete(path);の下にしたら失敗しなくなった
0249名無しさん@お腹いっぱい。
垢版 |
2019/09/26(木) 00:13:03.49ID:WId94Hii0
VCEEncC で配信しようとしたけど、解像度lowでも30分もつことなく、途中で止まって困っています。
3400G APUの内蔵GPUでは非力すぎかなぁ。

コマンドラインオプションは、公式サイトの QSVEncC のを元に設定したけど、
おかしいところありますか?

hls.def

encoder=VCEEncC64\VCEEncC64.exe
window=hide

high=--sar 1:1 -f hls -m hls_time:2 -m hls_list_size:1 -m hls_segment_filename:{segment-id}-%d.ts --output-thread 0 --avhw
--audio-codec aac --audio-ignore-notrack-error --audio-samplerate 48000 --audio-bitrate 192 -c h264 --vbr 512 --gop-len 60 --tff --output-res 1280x720 -i - -o -
middle=--sar 1:1 -f hls -m hls_time:2 -m hls_list_size:1 -m hls_segment_filename:{segment-id}-%d.ts --output-thread 0 --avhw
--audio-codec aac --audio-ignore-notrack-error --audio-samplerate 48000 --audio-bitrate 192 -c h264 --vbr 512 --gop-len 60 --tff --output-res 1024x576 -i - -o -
low=--sar 1:1 -f hls -m hls_time:2 -m hls_list_size:1 -m hls_segment_filename:{segment-id}-%d.ts --output-thread 0 --avhw
--audio-codec aac --audio-ignore-notrack-error --audio-samplerate 48000 --audio-bitrate 192 -c h264 --vbr 512 --gop-len 60 --tff --output-res 640x320 -i - -o -
0250名無しさん@お腹いっぱい。
垢版 |
2019/09/26(木) 00:14:03.46ID:WId94Hii0
(続き)
pd.def

encoder=VCEEncC64\VCEEncC64.exe
type=video/webm
window=hide

high=--sar 1:1 --audio-copy -m frag_duration:1000000 -f mp4 --codec h264 --output-res 1280x720
--cqp 28 --quality fast --input-analyze 3 --avhw -i - -o -
middle=--sar 1:1 --audio-copy -m frag_duration:1000000 -f mp4 --codec h264 --output-res 1024x576
--cqp 28 --quality fast --input-analyze 3 --avhw -i - -o -
low=--sar 1:1 --audio-copy -m frag_duration:1000000 -f mp4 --codec h264 --output-res 512x288
--cqp 28 --quality fast --input-analyze 3 --avhw -i - -o -

タスクマネージャー見てると、HWデコーダーとHWエンコーダーがずっと30%くらいで推移してて、
突然100%に飛ぶと同時に止まります。
0251名無しさん@お腹いっぱい。
垢版 |
2019/09/28(土) 17:06:29.98ID:KQlsUt6d0
>>249 ですが、入出力をファイル指定にして VCEEncC.exe を実行したら、数秒〜数十秒で落ちます。
タイミングが不定期なので、ハードウェアの問題ぽいです。
APU の初期不良含め確認してみます。
0252名無しさん@お腹いっぱい。
垢版 |
2019/10/28(月) 06:48:09.97ID:Q92PkeVi0
保守
0253名無しさん@お腹いっぱい。
垢版 |
2019/12/02(月) 07:18:12.30ID:fuctzkNf0
原因特定できてないけど勝手にスリープ抑止するバグと
再生停止してもブラウザ閉じてもチューナーが視聴中でロックされるバグがある

前者は番組表を更新して自動スリープして復帰した後とか怪しいかな
後者はライブ再生開始後すぐに止めたりブラウザ閉じると起きやすい
どちらも発生したらTvmaidを終了させないと止められない
0254名無しさん@お腹いっぱい。
垢版 |
2019/12/04(水) 20:27:31.90ID:kzfPh8Gm0
>>253
これ多分EPG更新後にスリープ抑止解除されないままTvmaidがスリープさせてる
で次に手動で復帰したら抑止が効いててスリープしない
何らかの要因でSleepState.Stop(false)がスキップされてるのか

>>248
に抑止解除に失敗するから場所変えたってあるから見てみたら
try{ }の中にあると失敗しなくなるみたいなので
EpgUpdater.csのSleepState.Stop(false);をserver.RemoveRef();の上に移してみた
しばらくこれで様子見てみます
0255keii
垢版 |
2019/12/05(木) 17:27:40.94ID:YLR4fPvV0
スリープ関連は,"おま環"なことが多いので,難しい…ですよね。
# 確か『中の人』は,スリープ運用していないって言っていた様な…

で,ザックリおさらい(?)
Tvmaidのスリープ制御 SleepMan()は,Gui/MainForm.csのMainForm()から呼ばれます。

先刻のSleepMan.cs内の関数で
SleepState.Stop(); ...引数Trueでcounterを++,Falseで--,counterが0でSetState(true)を,1でSetState(false)を実行。
SleepState.SetState(); ...OSのSleep動作を制御(TrueでSleepさせない)
SleepState.IsStop(); ...SleepState.Stop();内のcounterを確認(return count > 0;なので,0で戻り値False)

* SleepState.Stop()は,あくまでEpgUpdate用,その辺を理解しないで,他で使うと"動作しているように見えるけど…” な状態になります。
  SleepState.Stop(false);がSleep許可(or 再スリープするよう準備)って訳では無い。
  SleepState.SetState();を使っても,OSの電源管理がSleepに移行しない設定ならSleepしない。

Sleep復帰後の処理はOnResume()にて行なっていて
・設定で "自動Sleepする" な場合
 ・現在の時間が次の予約の3分前以内なら、自動復帰したと判断し、再スリープするよう準備。
 ・それ以外の場合,自動復帰ではないと判断,TvmaidはSleep(準備含む)しない。
 ・この際,OSの電源管理設定を弄っていないので,OS都合でSleepする可能性がある。
 ・但し,EPG更新,予約録画時は,SleepStateを使ってOSがSleepするのを阻止している。

OS側のSleep制御は,SetThreadExecutionState()を使っている。
Sleep移行には,SetSuspendState(PowerState.Suspend, false, false)を実行している。

>> 254
ストリーミング中に,ブラウザを閉じると固まるのは…
HLSストリーミングのタイムアウト(?)は30秒,その間はチューナを手放さないと思われます。
# Streaming/HlsStream.csのCheckActive()参照

開始直後に停止の方は,遭遇した事ないので…
0256名無しさん@お腹いっぱい。
垢版 |
2019/12/12(木) 19:33:24.75ID:WsdRpk5f0
>>254
もしかすると自動スリープがオンの時に自動復帰でEPGが更新されると
SleepState.Stop(false)が実行されてから実際に抑止解除されるまでの間に
自動スリープされてしまうって症状かもしれない

場所変えてもダメだったので単純に自動スリープをオフにしてみた
これでスリープ抑止効果が残らなくなるならビンゴ
0257名無しさん@お腹いっぱい。
垢版 |
2019/12/25(水) 21:27:40.54ID:V6YR7lS00
>>256
自動スリープは関係なかった
EPG更新時にTVTestがサービス切り替えに失敗するとスリープ抑止が残る

別のTVTestでチューナー使用中に手動で更新したら
再現率100%でスリープ抑止解除されなかった

勝手に抑止されるっていうのは自動更新中にチャンネル変更で時間がかかったとか
他でチューナー使ってたとかでサービス切り替えでミスしてる
BonDriverProxy使っててログに残らないからわからなかった
チューナー共有ソフトだと切り替えできない時は視聴中のチャンネルを返すから
切り替え失敗にならないみたい

原因が見つかったのであとは解決策がほしい
0258keii
垢版 |
2019/12/26(木) 13:34:30.64ID:e2R26hzf0
改造版でLive(HLS)視聴中,放送局を変更した際にStart()内でStop()が呼ばれることがあり
SleepState内のカウンタの値が思っていたものと違うものになる。
# 要はfalseが一回多く実行される
この事で,TvmaidからOSに対するSleep抑止制御がおかしな事になる。
これは,Tvmaidを再起動するまで治らない。

代案(仮)
SleepState.Stop()を使うなら,VideoStreamRecorder.csの方に設置すれば
上手く回るのではないかと思います。
ここなら,HLSでもPDでもLiveでも録画ファイルでも,Sleep抑止制御できると思います。

簡単に試した感じでは上手く動いていそう,でも,恒久的にOKか不明です。
# ついでにSleepManのSleep()にも小細工した方が良いかも…
0259名無しさん@お腹いっぱい。
垢版 |
2019/12/26(木) 19:57:58.08ID:Rz5YJZsc0
>>257
手動でEPG更新中止してもスリープ抑止残った
これも再現率100%
コードの問題なのか言語の問題なのか環境なのか
とにかく更新中にエラーか手動中止があるとダメ
抑止解除失敗がどこで起きてるかまではわからなかった

うちはチューナー使用中はBonDriverProxyが抑止してくれるから
EpgUpdater.csからSleepState.Stop()の2行を削除してよしとした
0260名無しさん@お腹いっぱい。
垢版 |
2019/12/26(木) 20:41:49.26ID:Rz5YJZsc0
>>258
245のやつか
チャンネル変更は新規にStartを呼ばずStopだけしてストリーム切り替えるから
カウンタが-1されてずれる
上に書いたEPG更新中の抑止解除失敗も意図せぬカウンタのずれで
そっちはtrueが多くなってる

VideoStreamRecorder.csの
Interlocked.Incrementの下とInterlocked.Decrementの上で計4箇所に
SleepState.Stop()を入れたら大丈夫そうではある

録画は使ったことないけどもしかしたらスリープ抑止で穴があるかも
アルゴリズムに抜けがあるとカウンタがおかしくなる
BonDriverProxy使ってれば録画視聴時以外は抑止してくれるけど
できればTvmaidでやってほしい

作者さん不在でこういうのも個人でDIYするしかない
視聴中の音量調整できたらいいけどこれはさすがに素人には難しい
0261名無しさん@お腹いっぱい。
垢版 |
2019/12/26(木) 22:13:08.91ID:Rz5YJZsc0
こんな感じかな

2行追加でライブ視聴時のスリープ抑止・解除
VideoStreamReader.cs
43行目Interlocked.Increment(ref ready);の下にSleepState.Stop(true);
75行目Interlocked.Decrement(ref ready);の上にSleepState.Stop(false);

2行追加で録画視聴時のスリープ抑止・解除
VideoStreamReader.cs
123行目Interlocked.Increment(ref ready);の下にSleepState.Stop(true);
133行目Interlocked.Decrement(ref ready);の上にSleepState.Stop(false);

うちは録画視聴時のみでいいから下のだけ
チューナー使用時はBonDriverProxyがスリープ抑止するから
元々あったEpgUpdater.csとRecorder.csのSleepState.Stop()は削除した

>>241
のサブフォルダ改造とこれでビルド
あとはdefファイル変更とhtml改変でデフォルト値を変えてる
使ってないWebPDとユーザ番組表と実況コメントを消して
削除済み録画は表示しないにチェック入るようにした

視聴時のARIB字幕オンオフ機能もほしいけどこれも難しそう
0262keii
垢版 |
2019/12/26(木) 22:38:36.32ID:qW1E4sIK0
>>261
弄りすぎてオリジナルの行数は不明なのですが,RecordStreamReader()の

if (File.Exists(path) == false)
throw new Exception("指定されたIDの録画ファイルはありません。");

if (File.Exists(path) == false)
{
SleepState.Stop(false);
throw new Exception("指定されたIDの録画ファイルはありません。");
}
として頂けると,さらに良い感じになると思いますが,如何でしょう?
# 実は,削除した録画ファイルをWebUIから再生しようとしたら,問題が出たので…(笑

ARIB字幕も気になりますが,Live視聴メインの方には,予約録画>番組表更新の優先順位判定に
Liveが含まれていないのは問題かも…
0263名無しさん@お腹いっぱい。
垢版 |
2019/12/26(木) 23:35:37.88ID:Rz5YJZsc0
>>262
Dispose()だけが実行されないケースってありますか?
RecordStreamReaderに追加するSleepState.Stop(true)は
throw new Exception("指定されたIDの録画ファイルはありません。")と
throw new Exception("record streamで無効な開始時間が指定されました。")
より下にあればダメな時はthrowされてtrueにする前に止まるはず

個人的な改造は置いといてスリープ機能の改善(簡略化)と
視聴、録画、EPG更新が競合した場合のチューナー割り当てのアルゴリズムは
次の更新があるのであれば最初にやってほしい
0264名無しさん@お腹いっぱい。
垢版 |
2019/12/27(金) 00:38:51.00ID:PeDWb9m10
SleepState.Stopでtrueとfalseの数が合わなくなって
スリープ抑止カウンタがおかしくなるのが原因だから
EpgUpdater.csとRecorder.csのSleepState.Stopを削除
SleepState.Stopは廃止してSleepMan.csに
(VideoStreamReader.Ready || Recorder.Running || EpgUpdater.Running)
を満たす間だけスリープ抑止するclassを常駐させれば解決だけど
常駐させる方法は知らない

自動スリープもOSがするから必要なさそう
Tvmaidによる手動スリープもOSのスリープボタンでいい
リモートでスリープさせたい場合はhtmlにボタンを設置
0265keii
垢版 |
2020/01/06(月) 15:49:13.89ID:trDY2V4t0
>>261
> より下にあればダメな時はthrowされてtrueにする前に止まるはず
すみません。 ご指摘の通りです。 盛大に勘違いしてました orz
123行目にtrueを入れるなら,throw new Exception("…の上に追加は不要ですね。

私の方では,LiveStreamReader()の場合,TvTest起動動作前に(true)したかったので,try{}内の先頭に挿入。
そのノリでRecordStreamReader()も関数の先頭付近に入れたので,throw new Exception("の上に必要でした。
#SleepMan.Sleep()は有効時,1秒間隔で動作するので,TvTestやファイル操作で,もたついている間にSleep発動されるのが嫌だったため。
#実際に,もたつきでSleep発動するかは,未確認。

同様にDispose()の(false)も関数の最後(catch{}の後)に入れています。
#LiveStreamReader.Despose()のtry{}内で2秒待ちが有るし…

> Dispose()だけが実行されないケースってありますか?
VS上Debugで動かして様子を見ると,RecordStreamReader()は,内部で例外(上記,thow new含む)が発生した場合,呼ばれない様です。
LiveStreamReader()はtry…catchしているので,多分大丈夫。
0266keii
垢版 |
2020/01/06(月) 17:58:44.29ID:trDY2V4t0
連投ご容赦願います。

WebUIでLive視聴中に番組表更新に邪魔されない様にしてみる(仮)
>>261 の改造に追加で,RecTimer.csの85行目辺りに小細工
else if (Queue.Find(tvdb, tuner) != null) // Queueが有れば,EpgUpdate
{
var server = new TvServer(this.tuner); // 視聴中EpgUpdate回避実験 2020/01/06
if (server.IsOpen() == false)
{
var updater = new EpgUpdater(tuner);
updater.Start();
}
}

注意:
・あくまで実験レベルなご提案(無保証)。
・チューナの取り合い発生時,予約録画 > Live視聴 > 番組表更新 な関係。
・Live視聴中に番組表更新が発動,同番組表更新中にLive視聴を停止すると番組表更新に取られてしまう。
 # この改造では,取り返せません orz
 停止せずに他局へ切り替える分には,大丈夫な感じ…
・Maidbarからの操作は,ガン無視なので,番組表更新は発動する。
・BonDriverProxyなどでチューナ共有していて,Tvmaid制御の他でチューナを使っている場合
 Tvmaidは今まで通り ”サービス切り替えに失敗しました” する。

Maidbarも含めた,根本的な優先順処理実現は,少々(いや,大分?)面倒ですね。。。
0272名無しさん@お腹いっぱい。
垢版 |
2020/06/01(月) 11:42:10.83ID:yASbnmN60
age
0277名無しさん@お腹いっぱい。
垢版 |
2020/10/11(日) 23:53:22.87ID:8h65bZkm0
保守△
0281名無しさん@お腹いっぱい。
垢版 |
2020/11/24(火) 18:01:22.60ID:URt+18VW0
知らない奴ほど首突っ込むんだよな、何でだろう
0284keii
垢版 |
2020/12/10(木) 08:51:56.39ID:eN46bhyX0
保守…
0286keii
垢版 |
2021/01/06(水) 11:28:12.75ID:oBWyI3/v0
みなさま,ご無沙汰しております。

私の所は,今もMAYA(改)が安定動作中。
現状,致命的な困り事がないので,このまま継続して使用する予定です。

そういえば…
近々,BSの帯域再編が有るようですが,Tvmaidだと面倒が少なくて良いですよね。


>>279
もう,ご存知かもしれませんが…

YUI系なら『mark10als』さんのが,GitHubに有るようです。

MAYA(改)は,少し前にGitLabに上げました。
# 『中の人』様,ごめんなさい。
# 公開しないって言っていたのですが… もうゴールしてもいいですよね。

GitLabに上げただけなので,動作確認など一切行っておりません。
もし,お試し頂く際は,自己責任,自己解決でお願いします。
# そのままBuild出来るかも未確認です。

使用方法は,マニュアルを添付していますので,そちらでご確認下さい。
# /maya/manual.htmlで開けるようにしています。
0287名無しさん@お腹いっぱい。
垢版 |
2021/01/08(金) 01:58:53.80ID:1L51oG820
わけあってインストールしなおしたら
番組表の表示に20秒ぐらいかかるようになってしまった
どうすればいいんでしたか
もう忘れちゃった
0291名無しさん@お腹いっぱい。
垢版 |
2021/04/07(水) 10:23:24.59ID:lB+3eQ+W0
YUIたその
maid barからどのチューナーがどのチャンネルを見ているのか分からない不便を乗り越えて使ってます。
0295名無しさん@お腹いっぱい。
垢版 |
2021/07/03(土) 17:01:19.86ID:9qeHEJNl0
何となくODBC経由でデータ引っ張って Accessとか Excelでなんかできないかなー
と思ってやってみたけど、日付フィールドの変換が上手く行かなくて挫折
0296名無しさん@お腹いっぱい。
垢版 |
2021/07/10(土) 11:00:58.21ID:vM/ylTSU0
>>295
tvmaid-5.db event.startやendは,Ticks値です。

変換は…
UnixTime(JST) = (Ticks / 10000000) - 62135596800 - 32400
ExcelTime(JST) = (UnixTime + 32400) / 86400 + 25569
とされています…?

32400 = 協定世界時と日本標準時の差の秒数
86400 = 1日の秒数
25569 = UNIX Time の基準時刻 (1970/01/01(木) 00:00:00 UTC) に相当するシリアル値

* Tvmaidが保持している値は,すでに "JST" なので,時差の調整は不要です。

Excelならセルに…
=((A1 / 10000000) - 62135596800) / 86400 + 25569
って感じ…でしょうか…

DB Browser for SQLite等なら…

select
datetime(start / 10000000 - 62135596800, 'unixepoch') as sdatetime,
datetime(end / 10000000 - 62135596800, 'unixepoch') as edatetime,
title
from event;
って感じ…
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況