l3tnun / EPGStation

Mirakurun を使用した録画管理ソフト
https://twitter.com/l3tnun
MIT License
552 stars 149 forks source link

たまに recording 開始が少し遅れる #579

Closed tokohito closed 1 year ago

tokohito commented 2 years ago

環境

Issue

お世話になってます。

表題の通りですがたまに recording 開始タイミングが遅れて番組冒頭が欠ける事があります。 ログを確認する限り preprec はいづれも正常なタイミングで実行できています。 この場合、recording の開始タイミングが遅くなる原因としてどのような事が考えられるでしょうか?

[2022-02-08T01:04:47.542] [INFO] system - preprec: 323912360804215 理系が恋に落ちたので証明してみた。 #5「理系が恋に落ちたので会議してみた。」[再] [2022-02-08T01:05:07.029] [INFO] system - recording: 323912360804215 理系が恋に落ちたので証明してみた。 #5「理系が恋に落ちたので会議してみた。」[再]

tokohito commented 2 years ago

mirakurun 側のログを見ると preprec のタイミングでチューナー(TunerDevice#2)のオープンはできているものの、実際に録画開始したのは EPGStation と同じく約7秒遅れになっているように見えます。 ※2/9 9:15 説明とログの切り出し範囲が間違っていたため修正

2022-02-08T01:04:47.545+09:00 info: TSFilter has created (serviceId=23608, eventId=4215) 2022-02-08T01:04:47.559+09:00 info: TunerDevice#2 process has spawned by command recpt1 --device /dev/pt3video2 20 - - (pid=3049) 2022-02-08T01:04:47.559+09:00 info: TunerDevice#2 streaming to user 172.20.0.3:37142 (priority=2) 2022-02-08T01:04:47.574+09:00 info: TunerDevice#2 > using device: /dev/pt3video2 pid = 3049 2022-02-08T01:05:04.156+09:00 info: TunerDevice#0 > Cannot tune to the specified channel: /dev/pt3video0 2022-02-08T01:05:04.157+09:00 info: TunerDevice#0 process has closed with exit code=1 by signal null (pid=3048) 2022-02-08T01:05:04.268+09:00 info: TunerDevice#0 process has spawned by command recpt1 --device /dev/pt3video0 CS8 - - (pid=3051) 2022-02-08T01:05:04.268+09:00 info: TunerDevice#0 > using device: /dev/pt3video0 pid = 3051 2022-02-08T01:05:04.904+09:00 info: TunerDevice#2 > device = /dev/pt3video2 2022-02-08T01:05:06.088+09:00 info: TSFilter has closed (serviceId=null, eventId=null) 2022-02-08T01:05:06.088+09:00 info: TunerDevice#0 end streaming to user Mirakurun:getServices() (priority=-1) 2022-02-08T01:05:06.088+09:00 warn: ChannelItem#'CS:CS8' service scan has failed [Error: stream has closed before get network] 2022-02-08T01:05:06.088+09:00 info: ChannelItem#'CS:CS10' service scan has started 2022-02-08T01:05:06.088+09:00 info: TSFilter has created (serviceId=null, eventId=null) 2022-02-08T01:05:06.208+09:00 info: TunerDevice#2 > C/N = 35.391660dB 2022-02-08T01:05:06.209+09:00 info: TunerDevice#2 > Recording... 2022-02-08T01:05:06.213+09:00 info: TunerDevice#0 process has closed with exit code=0 by signal SIGTERM (pid=3051) 2022-02-08T01:05:06.321+09:00 info: TunerDevice#0 process has spawned by command recpt1 --device /dev/pt3video0 CS10 - - (pid=3055) 2022-02-08T01:05:06.321+09:00 info: TunerDevice#0 streaming to user Mirakurun:getServices() (priority=-1) 2022-02-08T01:05:06.322+09:00 info: TunerDevice#0 > using device: /dev/pt3video0 pid = 3055 2022-02-08T01:05:07.021+09:00 info: TSFilter is now ready for eventId=4215

hideo54 commented 2 years ago

同様の現象が私の環境でもたまに発生しています。Windows 環境であることやハードウェアの不調の可能性があることに鑑みて issue を報告していなかったのですが、Mirakurun や EPGStation の再起動で都度解決するので、何かソフトウェア的解決ができないかなとも思うところです。閉じられていますが、issue #578 も同様だったのかもしれません。

私の環境は次の通りです:

yuta2k commented 1 year ago

別の原因かもしれないですが、当時 docker-mirakurun-epgstation v2 の上で動かしていた環境で同様の問題が再現していました。
同じく私の環境が原因だと思っていました....

BS11 にて 2022 年 10 月頃から放送されたアニメ「ぼっち・ざ・ろっく!」の録画にて、隔週程度の頻度で番組始めの数秒が切れています。

年始にハードを丸ごと変えたこともあり確証はないですが、Mirakurun の Pull Request #67 を参考に Mirakurun の server.yml

maxBufferBytesBeforeReady: 16777216

を追記してみたところ、解決したような気がします。

l3tnun commented 1 year ago

preprecで Mirakurun へ接続を行い、Mirakurunから何らかのデータが降ってきた段階でrecordingへ移行します。 故にこれは Mirakurun もしくは チューナの問題となります。