Linuxでテレビ総合スレ避難所7
■ このスレッドは過去ログ倉庫に格納されています
※ DTV板はデフォルト設定が強制ワッチョイなので、ワッチョイを付ける時は extend コマンドの記述は不要です (逆に、ワッチョイを付けない時は !extend::checked:: の記述が必要です) ※ DTV板は即死判定があり、即死を回避するためには、スレを立ててから1時間以内に最低12コメントが必要です (即死回避以降は、30日間書き込みがないと強制的にdat落ちします) 前スレ Linuxでテレビ総合スレ避難所6 https://mevius.5ch.net/test/read.cgi/avi/1636527009/ >>482 libusb-1.0移植版で完動した。サンクス >>484 試してないけどこれじゃ直らない。 コンパイルエラーは struct Node { @Ringbuf.hpp の T data; // データ本体 を構造体末尾に +struct AsyncRequest のurbを481のように構造体末尾にすれば直る でも原因はこれじゃない。コンパイルは出来ても受信シグナルが全く来なくて動かない もう1つ聞きたいんだけどTVTestみたいなソフトってある? futex2でwaitformultipleobjectsのクローンできたしBondriverと一緒に完全移植できると思うんだけどもうある? >>486 実際に>>484 のパッチをビルドして試してみて コンパイルエラーが出ている箇所とは異なる箇所を修正しているから変に 感じるかもしれないけど、正常のコンパイルできて正しく動作するはずだから もう一つパッチ作った https://pastebin.com/z0jeVJWK こっちのほうがより正しい修正のつもりだけど、C++ではなくCのやり方で実装して いるから、C++としてもっといい方法があるかも recfrio-master以下で $ wget https://pastebin.com/raw/z0jeVJWK $ patch -p1 < z0jeVJWK でパッチを当ててビルド >>489 USBDEVFS_URB_TYPE_BULKでurbのnumber_of_packetsは常に0なんだから、カーネルバージョンによらず usbdevfs_urb *urb; の実体サイズはsizeof(usbdevfs_urb)固定で大丈夫なのでは >>489 これテストした? std=c++03 宣言なくても 関数 throw(なんか)のthrow(なんか)を消せば普通にコンパイルできるよ コンパイルエラーは最初のレス書き込み前にすでに自分で直したけどなんか受信シグナルが一個も来ないの(出力TS0バイト) たぶんlibusb-旧バージョン(deibanだと0.1.4)のバグだと思うよ 普通にlibusb-1.0動いてるんだから1.0使っとけばよくないか? TVTestみたいに空き時間に動画のデコードやらユーザー入力処理とかしなきゃいけないのは非同期処理じゃないと駄目だけど、recfriioは単純コマンドだから同期処理で十分でしょ >>488 Linuxのプログラミングはさっぱりだけどffplay見る限りは大丈夫じゃないの? CyberLinkみたいな高速なデコードは無理かもしれないけどそれなりのデコードなら・・・ >>491 libusb-1.0は非同期をサポートしてるんじゃなかったっけ それはともかくlibusb-compat-1.0 を使えば 古いアプリでも(ほぼ)そのまま?libusb-1.0を使って動くみたいだね libusb-0.1はもうLEGACY扱いなんだし使わない方がいいんでないか >>491 そもそもrecfriioはlibusbは使ってないし、libusb-1.0系の最新版でも>>484 と同じ方法(ほぼ同じ構造体を自前で定義)で対応してるので、 ttps://github.com/libusb/libusb/blob/v1.0.26/libusb/os/linux_usbfs.h#L78-L95 libusb-1.0版で動くけど484や>>489 で動かないのなら、なにか別の問題でしょう ちなみに、 ttps://github.com/stz2012/recfriio/blob/7a628c2bf460f423d4ad88b19c10010c37276c4b/recfriior5/RingBuf.hpp#L83-L90 のTがAsyncRequestなので、>>481 の変更入れてもカーネル6.0以降ではフレキシブル配列メンバの後に他のメンバが続く形になってしまうのは同じなので、 もしその変更入れたコードのコンパイルが通るのだとしたらそれ自体がおかしいです また、このコードはT dataがstruct Nodeの最初のメンバである事が前提のコードなので、>>486 みたいな変更したら当然動かなくなるでしょう >>476 スレチかもしれないけど。 寝転がりながら Android Tablet でも字幕付きで再生したい! ってのがオレ的にありまして、参考にして少し遊んでみました。 結論として、以下になりました。 ・エンコード時に -c:s dvdsub でエンコードしちゃう copy だと ARIBSUB としてエンコードされますが、再生するアプリ側も対応が必要です。 でも DVDSUB なら再生側もだいたい対応しているし、再現度も高いと思いました。 プレイヤまでパッチ当ててビルドしたくない人、試してみてください。 まぁ、 -subtype ass のままで -c:s mov_text でも別に見られますが、 ルビとか、もうちょい再現度上げたかったんですよね。 おいらはlibaribcaptionが未だパッチとして存在していた時に以下のオプションでエンコードしていたよ。 このオプションであれば、配置情報も保持されるので再現性が高い。 -sub_type ass -ass_workaround true -ignore_background true -c:s ass 今の ffmpeg では -ass_workaround true は -ass_single_rect true な >>424 最近出た tsreplace を使うと TS の映像だけを H.264 / H.265 に置き換えできるよ FFmpeg にも QSVEncC にも対応してる ttps://github.com/rigaya/tsreplace 標準入力できない、録画同時エンコできない 意味ないな リアルタイム視聴の時はリアルタイムエンコードで見れるし、録画後にエンコードもできるし、特に困らんけどな >>502 そうそうこういうの QSV/NVEncでAV1も行けるのかな? tsってmp4とかにして画質落ちない方法ってある? ffmpeg -i hoge.ts -c copy fuga.mp4 chinachu + mirakurun構成なんだけど 録画の前後に数秒余裕を持たせて録画したいんだけど設定どれですか? EPGStationを昨日2.7.1にアップして使用中。 番組録画が済んだらフォルダ移動する設定にしているが、しばらく運用してると移動されなくなるっぽい? 動かし始めて暫くは問題ないんだが。自分だけか否か。 過去バージョンでは問題なかったしそこから設定も変えていない。 今録画走ってるのが終わったら再起動して引き続き様子をみる。 >>510 maxBufferBytesBeforeReady 引き続き状況報告。 昨日の投稿の後、フォルダ移動しないだけでなく予約録画が全然始まらなくなり、再起動で直った。 そのまま今の時間まで運用していたらフォルダ移動しない現象がついさっき再現した。 今度はrecordedTmp設定をコメントアウトしてみる。 他の人から同様の報告はないようだが、この設定使ってないから同じ現象に遭ってないのかもしれない Raspberry Pi 4で安定運用(非docker)していたが、EPGStationをv2.6.20からv2.7.1にバージョンアップしたら、EPGStationのトップページが「Cannot GET /」となるようになってしまった。 同じような状況の人が知恵袋にいて未解決だったけど、EPGStationをv2.6.20で再セットアップしたら解決した。 ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11284501056 引き続きの状況 RecordedTmp設定をコメントアウトしてからは不具合に遭わず継続稼働中。丸2日超というところか。 微妙に不便だが当面これで運用することにしよう。 とりあえず現行版は生成したファイルのディレクトリ移動が怪しいということで。 気力があればissue上げるかも その後の状況 9/5ごろにRecordedTmp設定を外してから、今日さっきまで問題なく運用していたが。 さっき録画が始まらなくなった。 RecordedTmpを使っていた前回よりだいぶ持ったがやっぱりダメの模様。 Dockerコンテナの再起動かけて様子見るが、また症状出る前に過去バージョンに戻すことを考えよう ラズパイで録画サーバー構築してる人、エンコードどうしてる? 現状ラズパイからNASにtsで録画したあとそのままにして、暇なタイミングで母艦でエンコードしてるけど >>515 Cannot GET/はvue.js周りの依存関係が上手く出来てないと発生する。 npm run installではなく、npm run all-installすれば解決した。 ビルド時にvue関連のエラー出てるはずだから見てみて >>518 全く同じ 強いて言うならラズパイはmirakurunのみ、NAS上のDockerで動くEPGstationから吸い上げてるくらい とりあえず2.6.20に戻した 2.7.1に上げる前に使ってたコンテナイメージは消してしまってた ので再構築になったが、node.js v16/openssl1.1.1サポート切れの あおりなのかコンテナ内のffmpeg構築でlibcrypt.soが見つからん とかで止まったり、入ってるはずのlibassが見つからんといわれ たりでDockerfileの試行錯誤に手間食った 前はすんなり動いてたコンテナ構築がすんなりいかなかった これで当面運用する v2.7.0以降でルール対象番組除外の有効化が直ってるのを 確認できたのにちょっと残念 今の安定環境、システムドライブまるごとセクタバイセクタでコピーしとこ >>522 それは2.7.1で症状出てるのがnode v18に原因があるということ? 修正当てるのはありだなあ 以後の更新考えるとDockerイメージをカスタムするの気進まないけど >>524 commit見る限りrecordedtmp周りの修正ないし、そうなると怪しいのがnodeのバージョンかも?という推測 >>525 なるほど。 recordedtmp設定してなくても6日間くらいで録画できなくなったし、node v18で動かすのは当面様子見かな >>522 の2.7.1のReservationManageModel.tsを2.6.20の該当ディレクトリに上書きして試したけど、状況変わらずルール予約の除外を復帰させても録画始まらなかった。 2.7.1で本件の対処がされたのがこのファイルじゃないのか、それとも2.7.xで解決確認したつもりが勘違いだったのか・・んなことないと思うけど。 確認はEPGStation稼働中にコンテナ内/app/srcディレクトリ下の.tsファイルを直接上書きしてからやった。 稼働中の.ts上書きだと前の.tsファイルがキャッシュされてたとかあるのかな? も少し調べてみる node.jsはtsを直接実行できないので停止してからnpm run build ああTypeScriptってjsにコンパイル(変換)したのが動くのか。そりゃ.ts上書しても動かんね。 自分でTypeScriptのコード書いたことなくて失礼した。 ありがとうやってみる。 ↑の情報を参考にやってみた。 実行中のコンテナに.ts入れてbuildかけてもdockerイメージは更新されない(docker-compose up -dで戻ってしまう)ので、Dockerfileで.tsをCOPYしRUNでnpm run buildしてイメージ作り直した。 /app/src内の該当ファイルが書きかわり、かつ/app/dist内js群がbuild時の時刻になっていることは確認した。 でもルール予約の除外を復帰させてもダメだった。 あまり過去版で頑張る話をここで引っ張るのも申し訳ないのでここらで終わろうかと思うが >>530 予約除外解除のバグ直ってたのか あれ何気に困るよね とりあえず>>23 の方法でなんとかなってるけど >>531 いやあ上で2.7.xで確認したと書いときながら本当に直ってたのか自信なくなってきた 2.7.1を信頼して使えない以上また2.7.1にするわけにいかないし ちなみにReservationManageModel.tsの更新と同時にやってみたことがあり。 録画ファイル名の自動的な全角半角変換でピリオドが全角になるのとチルダ「〜」が半角になるのが自分の趣味に合わないので、その変換がされないよう修正したつもりのソースStrUtil.tsも一緒に仕込んだら、ピリオド全角化はちゃんと無効化できたのでDockerfileへ仕込むやり方は効いている模様(チルダの方はヤマが外れたのか全然全角化されないけど)。 なので同時に入れたReservationManageModel.tsもちゃんと入れ替わっているはず。 しかしMirakurunの段階では全角なチルダはEPGStationのどこで半角化されているんだろう。StrUtil.tsにそれっぽいコードあったがそれじゃなかった 上の方でルール予約の除外復帰が2.7.xで直ってるのを確認したつもりだが自信なくなった、とか中途半端な状態のままにしてしまい、見た人に申し訳ないので再度確認した。 「結論としては2.7.1でも直っていなかった」 誤情報書いてすまなかった。何か勘違いしたようだ 安定動作しない2.7.1を2.6.20に戻して運用中のディスクを丸コピーし、コピーを再度2.7.1に上げて確認した MirakurunからVLCへストリーミングしてて地デジNHKの英語の副音声を消したい(モノラル音声にしたい)んですけど、VLC側ではなくMirakurun側で設定する方法ってありますか? >>536 ダメだったのかwおつかれ ver.1の頃はちゃんと機能してたんだけどな 他にも予約関係のバグは、ルールで時刻設定すると解除できなくなるとか、予約時に終了時刻を短くすると直前に放送された番組名になってしまうとかあるんだよね >>538 mirakurun直だとわからなかったんでEPGStationからffmpeg呼んでストリーミングしてるな >>540 EPGStationのffmpegからストリーミングする方法があるんですね。詳しく調べてみます。 PT2とPT3を接続してDVBのドライバを使おうとしているのですが 起動するたびにadapterの番号が変化してしまうのでうまく利用できません adapterの番号の割当を固定するにはどうしたら良いでしょうか 6.2.0-33-generic #33~22.04.1-Ubuntu >>542 ttps://github.com/dogeel/recdvb/blob/86b8e8cbca68a96927f8d9719a6ca641935cbf89/pt1_dev.h#L14-L15 >>543 >>544 ありがとうございます!! 解決しました pt1とpt3で違ったので良かったですが pt2*2とかだったら困っていたかもしれません あとdmesgのlogではearth-pt1とearth_pt3でハイフンと アンダーバーが違うんですね modprobeとかでは自動変換して-も_も同じだから 気にしない 俺が弱くなった所で、別にオマエが強くなった訳じゃねぇだろォがよ。あァ!? tsreplace字幕放送にはピッタリだな、ありがたい 今朝未明の録画実行中、dockerdがmsg="failed to delete"ってsyslogエラーを3行ほど吐いて落ち、docker-epgstation-mirakurunごと再起動してた。 結果録画番組が分断されたんだがなんだろうこれ docker最低限理解してないなら普通にセットアップしなよ、トラブルシューティングできないでしょ ちなみにOS起動してから33日目で起こった。 しかし何年も前から運用してるけどこの現象は初めてだな 試しにメモリ増やしてみるか 仕事内容限られてるからケチってる エラーの報告だけして ログ等トラブルシューティングできる情報は一切出さないタイプの人がいるようだから 相手にしない ちょいちょいEPGStationアップデートかかってる このスレを見てもやっぱりWindowsのほうが安定してんのかなと Linuxに移行しようと思ったが、今回も現状を確認しただけで終わりそうだ ReadyMedia(MiniDLNA)経由でテレビでm2tsの録画ファイルを再生する時って 字幕表示は無理なの? VIERAのお部屋ジャンプリンクで再生して 字幕オンしても出ない PCでARIB字幕に対応したプレーヤー使うと字幕はちゃんと出る DiXiM PlayのFiieTV版ではReadyMediaのサーバー選ぶと ファイル一覧は出るが 問題解決オプション弄っても非対応機種扱いで再生不可だった VLC for fireTVだと一応再生はできるが ARIB字幕を選択しても表示されない PC使わず 手軽に字幕付きで見る方法はないんだろうか ん?キャストして見たら字幕出てたような気がしなくもなくもないかもしれないので今度見てみる PMS for VIERAのWikiに情報あった PartialTSとやらに変換が必要らしい ts2ptsってツールを自分でビルドして これで元TSをPartialTSに変換したら字幕も表示された この変換を自動で出来るようにすればテレビで気軽に見れるようになりそうだ PMS for VIERAはWindows専用っぽいからこれをそのままLinuxの録画鯖では使う事はできなさそう https://w.atwiki.jp/pms_viera/ PMS自体はJavaアプリだったような for VIERAでWindows固有のプログラム呼び出していてもハードウェアにタッチしないしWineで動きそう 字幕対応してるlinux用のmedia server入れた方が良くないか pmsもlinuxで動くんだな 本人が納得してるならそれで良いか digibest製チューナーについてるカードリーダーをLinuxでも使えるようにできないかなぁ… DTV02A-1T1S-UやPX-M1URとラズパイでかさばらないミニ視聴サーバー作りたい USB9ピン→USB TypeAポート変換でカードリーダー内蔵するのはちょっと考えてた どうせ法的に真っ白というわけじゃないんだし ソフトのcasでいいでしょ >>489 このパッチで動きました。 初代NANOTEにQ4OS入れてrecfriioのビルドでつまずいていたので助かりました。 今回の件とは関係ないが、arib25がうまくビルド出来なかったのでMakefileを次のようにした。 $(CC) -o $(TARGET) $(OBJS) $(LDLIBS) というか別のマシンに残っていたファイルがこのように修正されていたので既出の問題だと思われる。 動作環境 Linux q4os-desktop 6.1.0-13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29) x86_64 GNU/Linux チラ裏だが、utf8mb4じゃないせいで[FATAL] system - epg updater is disconnectedが出る問題 https://github.com/l3tnun/EPGStation/blob/master/doc/mysql-mirakurun-3.9.0-beta.24.md これの通りにやっても一向に直らなかったんだが、直す方法が分かったので書き記しておく 単純にデータベース内のutf8_general_ci型をutf8mb4_unicode_ciに変換させればよかった docker exec -it docker-mirakurun-epgstation_mysql_1 mysql -u epgstation -p epgstation -h docker-mirakurun-epgstation_mysql_1 でコンテナ入って次のコマンドでテーブルの型変更を行った ALTER DATABASE epgstation CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; それと ALTER TABLE channel CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; という感じにshow table status; に出てくるテーブル12個で同様のコマンドを実行した 変更したら即座にエラーでなくなったし番組表も再読み込みされるようになった ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる