Linuxでテレビ総合スレ 避難所4
レス数が950を超えています。1000を超えると書き込みができなくなります。
>>884
レスありがとうございます stz2012版で読売をVLCストリーミング再生した場合
再生 → プログラム の欄をみてみると
読売テレビ1
読売テレビ2
読売テレビ3
読売テレビ臨時
読売テレビ ← これがデフォだと選択されます
読売テレビ1に変更したらちゃんとLinux環境+STZ2012
でも高解像度で再生されました
ありがとうございました ワンセグなんて見ないだろうから録画しないようにできるならそうすれば流石にデフォで選択される気がする。試してみてはどうだろうか http起動してライブ視聴のときは、recpt1の--sid hdオプションがつけてるのにワンセグが表示されるんだよね?
うーん >>887
読売だけその通りです
stz2012版だとlinux環境においてライブ視聴、録画問わず --sid hdオプションつけているにも関わらず読売テレビだけワンセグが表示(というか優先)されます
読売テレビだけプレーヤー側で再度ストリームを指定し直してやるとhd画質で映るのですがね
他番組(地上波やBS番組など)は同オプションをつけて全く支障なく
何もせず最初からhd画質でみれるのにです
まあstz2012版だけの障害なので本家版recpt1を使うなりlinux導入せずに現行のwinの録画環境維持でも良いんですけどね
stz2012版でもlinux機は録画専用鯖にして視聴はwin機なりで、とかなら全く問題はないようですが >>889
おお、正にそれっぽいですね……
しかしcソースをどう修正して良いか判りません、当方プログラミングは素人そのものなので(汗
当該スレでは変数型?を桁溢れしないような型に変更すれば良さそうに書いてらっしゃいますが
うーん……
自分のスキルでは手に余るようです 調べてくださってありがとうございました >>888
手元でテストした所、分離されずに残っているようですので、プレーヤー側のトラック
選択を変更(smplayer なら ビデオ、トラック) で良さそうです。もしくは、--sid hd
オプションを使わなければ正常に再生されたのでそれでも。 >>889
>>890
その様です。これの修正方法は出てましたか?
さらっとソース眺めて見た範囲では
* ttps://github.com/stz2012/recpt1/blob/8f47cfae1f5d0c49115fcd4625100d1918d03403/recpt1/tssplitter_lite.h#L60
* ttps://github.com/stz2012/recpt1/blob/8f47cfae1f5d0c49115fcd4625100d1918d03403/recpt1/tssplitter_lite.c#L741
* ttps://github.com/stz2012/recpt1/blob/8f47cfae1f5d0c49115fcd4625100d1918d03403/recpt1/tssplitter_lite.c#L746
* ttps://github.com/stz2012/recpt1/blob/8f47cfae1f5d0c49115fcd4625100d1918d03403/recpt1/tssplitter_lite.c#L688-L689
sp->section_remain は uint16_t なので Nall と N は それよりも大きく(uint32_t)しとけば良いですかね?
L688-L689 の unsigned char を uint32_t に修正するってことです。
この修正で問題ないのかはわかりませんけど、分離には成功します。
まあ、mirakurun インストールすれば良いだろうとは思いますが。 >>892
ありがとうございます!!
変数NallとNをuint32_t型に定義し直し、再ビルドしたら不具合は解消されました!!
ラズパイ環境もPC版Ubuntuも支障なく読売テレビがHD画質でリアルタイム視聴等可能となりました
本当に感謝感激です 半分あきらめていただけに本当に嬉しいです
本当に有難うございました >>892
uint32_t にしなくとも、Nall と N を uint16_t にすれば大丈夫じゃないですかね? >>894
ご指摘ありがとうございます。
uint16_tで動作テストした所、分離されています。
uint16_tで問題ないと思います。
中身までは理解していないので、まあ、大きければ大丈夫だろう。という言い訳です。 EGPStationで、WindowsのEDCBみたいに録画時に番組情報TXTを出力する事って出来ますか?
出来るのでしたらオプション教えて下さい。 >>857の arib-b25-stream-test版 が欲しいです。
もし有ればあげていただければ。
よろしくおねがいします。 >>857
16バイトずつ復号してるから、誰かSSEで高速化できない? torのDTV板では AVX対応版の祖父カス的ライブラリがあるね #748?
インターフェースが違う別物っぽいけど >>899
普通にコンパイルすればb25って名前で実行ファイルができるよ。 >>903
revdvbでうまく行ったんですが、
今使ってる環境はM4で dvdv5-zap でarib-b25-stream-test版 が必要になるんです。 くれくれ君はわがままだな。誰が無償でarib-b25-stream-testをSoftCas化するかよ
素直にカードリーダーとBCASカード使え >>904
arib-b25-stream-test版って標準入出力に対応していれば良いんだよね
シェルを介してb25を呼び出せば
シェルはここら辺の方のを参考にして
https://github.com/collelog/tv-recorder-dockerfile/blob/master/libarib25-build/arib-b25-stream
シェル名をarib-b25-stream-testにしてb25とシェルにパスを通せばそのまま置き換えられる https://medium.com/chinachu/mirakurun-3-0-0-night-whale-23aaf2c23c25
ここにならってmirakurunの導入を試みてるんですが以下が返されてうまくいきません・・・。
~/mirakurun $ docker-compose run --rm -e SETUP=true mirakurun
Error response from daemon: error gathering device information while adding custom device "/dev/dvb": no such file or directory
どうしたら上手くいくでしょうか?
チューナーはpxw3pe4です >>907
完璧に動作しました。
ありがとうございます! /dev/dvbがないって言ってんだからドライバの問題だろう pxw3pe4 mirakurun でググれば有益な情報転がってると思うが
「PT3 / PX-Q1UD / PX-S1UD などのチューナーは Linux 標準の DVB ドライバが使えます」
ってあるから そのチューナーは標準ドライバ以外なんだろう
ドライバインストール済みで/dev下に見えてるなら
「# ここでデバイスを編集 (DVB デバイス以外を使用する場合)
$ vim docker-compose.yml」
ってあるから使うデバイスで修正すればいいんだと思う
頑張れ >>911
>>912
ありがとうございます…
なんとか非公式ドライバを設定したりあの手この手で色々やってみて
Docker使わないでやってみたんですが表面上特に問題ないのにmirakurunでチャンネルスキャンできなかったりepgstationにローカルホストからアクセスできません…
docker使わない方法→dockerつかう方法→docker使わない方法
とやっていたのでなにがなんだか… >>913
非公式ドライバって、/dev/px4video[0-3] じゃない? 一回まっさらにしてcas太郎氏のサイトと>>812の通りにやってみましたがどうにもうまくいきません…
mirakurunでチャンネルスキャンができず…
epgstationも起動しない… >>917
libarib25は>>857のパッチ使ったほうがいいと思う。 >>917
丸2日くらいこねくりまわしてます。
mirakurunで地上波のチャンネルスキャンがnosignal
→ちゃんと局名が表示されました…
epgstationでローカルホスト叩いても無反応
→UIページ確認!!
地上波出てこず一切視聴不可ですが…
recpt1の録画コマンドを叩いてもb25デコーダが開けず詰まってます…
>>918
パッチの使い方がよくわからんのです… いろいろいっぺんに手を出しすぎてあちこちでハマって、とっちらかって結局何も解決できないドツボだな。
だいたいなんで>>908のdocker-composeはDVB使う前提のやつなのにrecpt1とか使ってるわけ?自分が何やってるかわかってねーだろ?
助けを求めるわりには自分がやったことはダラダラ断片的にしか書かないし、ここはお前の日記帳じゃねーよ。 まずはどこかのサイトを参考にするなら、それだけで動くまで構築することだね。
色々やるのはそこから。
CAS太郎のはラズパイ32bit用なのでx64だとパスとか変わるから注意 softcasなんて使わないで普通に物理B-CAS使えばいいのに 無い方がすっきりしていいと思うけど、それぞれの環境次第か? 色々弄ってると原因と解決策が分からなくなりがち
Docker出てきてまっさらな状態にしやすくなって大分やりやすくなったな
開発者の方々に足を向けて寝れない Windows 10 だけどここに失礼
EPGStation を導入して、無変換なら視聴できるようにはなったんだけど、
ffmpegのプロセスだけが立ち上がって、エンコードをしてくれず、
EPGStation の視聴ウィンドウもグルグルするだけの状態に苦しんでいる
プロセスが立ち上がってはいるので、パス通しの間違いもないと思うし、
一体何が原因かが検討もつかず。この辺りわかる方いますか? エスパーできないから
ログをdebugにしてまずエラー眺めてくれ >>927
ffmpeg と ffprobe が新しすぎたりするとそうなった事がある。
ver3.2 あたりだったら動くかも? >>929
有難う
3.2に戻したけど、やっぱり動かないなコイツ…
ttps://f.easyuploader.app/eu-prd/upload/20200921142728_3250713767766937386c.png うーん?エラーで落ちるならまだしもプロセスが立ち上がったまま止まっとるということか?
同じ変換条件で、コマンドプロンプトまたはPowershellからは変換できるんだろ?
エラーメッセージを探さないとどうにもならないな。エラーもなく立ち上がったまま止まるような条件は・・・変換後データをEPGStationが受け取れていないとか?
録画ファイルを読みに行けないでも、依存ファイルが探し出せないでもなんでも、エラーが出るはずだ。 タスクマネージャーでffmpegのプロセスを見ても、CPU使用率が上がらない状態でプロセスだけが表示されて、
エンコードしている節は無く、本当にffmpegの起動だけで止まっちゃってるんだよな…
ちなみに、手動でエンコードすると動く 何ならEPGStationのデフォルトのままだし、無変換以外どれも使えない ストリームちゃんと認識できてないみたいだから
ちゃんとパイプしてるか怪しい気が >>927 の件、解決した
結局、MirakurunからBonRecTestに渡すコマンドで、B25を指定するのを忘れてたオチでした
それでもVLCでストリーム再生できてしまったことが一番の迷宮入りの原因かもしれない 特にいじらずusbカードリーダーからbcas読ませたらrecpt1での試し録画はできました。
epgstationもアクセスできて番組表表示まではできましたがなぜか無変換にしても視聴不可…
nodejsのバージョンのせいかと思って10.xから14.xに上げたら一切繋がらず…
ソフキャス使わないにしてもcas太郎の通りにやってほんとに映るんですかね…
明かりの見えないトンネルを彷徨ってます… そこまで行ってんならFFmpegが入ってないかパス通ってないんじゃないの recpt1 --b25 でスクランブル解除出来てるか確認
再生可能ならtuners.ymlのarib-b25-stream-test書かずに
recpt1を--b25付きで書いておけばいい
nodeは知らんが入れ替えたのならmirakurunとepgstationも入れ直せばいいんじゃね? nodejsを10.xに戻す
mirakurun+arib-b25-stream-testをアンインスコ
mirakurun再インスコ+stz版のlibari25インスコ
これで無変換でなら視聴できるようになりました!!
まったくよくわからないです。
残る課題はソフキャス…
ffmpegを使った変換…
細かい設定…
>>940
epgstationの設定ファイルも/usr/bin/ffmpegに書き換えていて、ファイルを見に行ってもffmpegがそこにあるんですがなぜなんですかね…
>>942
もともとそうなってました
nodejsのバージョン変えた場合は入れ直しになるんですね!
焦りました 中身の詰まった冷蔵庫をまっさらな新しい新型冷蔵庫と取り替えて「食べ物がない!」って言われても…
当然だわな >>943
ソフcasなら
>>857
を使えばいいじゃん。 ファイル間違えてるんじゃないかなと
適当なエスパー以上できね docker-composeの書き方とか何変えなきゃとか覚えれば、そんな苦労はないんだけどな PT2+Mirakurun+EPGStationにしたいけどCentOS8にするかUbuntu18.04にするか20.04にするか悩む
20.04+PT2の人がいない気もするし18.04が無難かなあ 20.04 + PT2 使ってるよ。別に何も問題ない。 >>945
これってどうやって使うんですか?
cmakeでどうにかするらしきことは読み取りましたがこれが何なのか説明するサイトもなくわからんです… >>954
>>955
マジでわからないです!!
cmakeをググっても作る側の情報がメインで… 大人しくWindowsで構築しとけよ
なんで手取り足取り補助しなきゃならんのよ >>951
Archは使いこなせる自信ないっす
>>952
いいこと聞いた。
20.04にしようかな。感謝 OSが何であろうがデバイスが認識できてればOK、ってのがDockerでアプリを動かすメリットのひとつでしょうに。 ubuntu 20.04+pCI-e〜PCIライザー+mirakurun docker版でドライバまわりなんもせんでも動いてるよ
mirakurunのインストール以外でやったのはchannels.yml書き換えただけ >>957
お前みたいなのが一番うざい
そう思うなら書き込まないで放置しとけよ 初心者スレじゃあるまいし、ゼロからサポートってのは確かに変
うざい、放置しろってのはブーメランと思うんだが初心者オコか? やってることがグレーなんだけど、大きな声で威張れることでもない >>963
いや文句だけ付けて全く建設的じゃないレスなんて不要にも程があるとしかいえんのだが? >>965自体が全く建設的ではないので、>>965は不要。 EPGStationの録画後のエンコードは.jsファイルじゃないといけないとかってある?シェルスクリプト(.sh)じゃだめなのかな。
RPi4+Raspbianの環境でこのスレで出てたJLSのセットアップまで行って、エンコード時にシェルスクリプトを実行するようにしたんだけど、
シェルスクリプトをターミナルから実行するとうまく行くのだけど、EPGStation上からじゃうまく動かない。
ログファイルをターミナルの標準機能(であってるのかな?)で出力してみると、chapter_exeの実行自体はできてるみたいなんだけど、直接シェルスクリプトを実行したときと違いがあって、そこから推測すると途中で作業が中断されてるっぽい。
あとは作者さんが作ってくれていたDocker環境のエンコードスクリプトを使ってみても動かなかった。何か知ってることがあれば教えてもらえると助かる。 >>970
chapter_exeがどういう風に止まってるのかが知りたい
エンコードスクリプトって言うとブログのjlse.jsのことかな?
Dockerじゃなくてローカルで動かしてるなら
env.HOME = '/root';
の部分の変数が異なると思うから、環境に合わせて設定してみてほしい。
具体的には
echo $HOME
を入れて出てきたのを試してほしい >>971
早々の返信ありがとうございます。
そのjlse.jsのことです!javascriptは自分自身が書かないので全然わかってなくて…
jlse.shの中身を以下のようにしました。コマンドライン引数としてINPUTの環境変数を渡しています。
#!/bin/bash
export PATH="/usr/local/bin:/usr/bin:/bin"
jlse -i "$1" -e -t cutcm_logo -o " -c:v h264_omx -vf pullup=jb=54 -preset veryfast -acodec aac -ab 320K -b:v 4M -aspect 16:9 -r 24000/1001 -tune animation" > log.txt
これをEPGStation上から実行するとlog.txtの中身はこうなっています。
```log.txt```
放送局はファイル名から検出できませんでした
ロゴファイルすべてを入力します
```
このときJLSのresultフォルダには番組タイトルのフォルダができていて、avsファイルを見たことがないのではっきりとは言えませんが、
後でフォルダ内in_cutcm.avsをffmpegで読み込んでエンコードすることもできたのでChapter_exe自体は問題なく動作はしていたと考えられます。 >>971
次に上述のシェルスクリプトを直接SSH接続のターミナル上から動かしてみます。
そのときのログファイルが以下です
```log2.txt```
chapter.auf pre loading program.
usage:
chapter_exe.exe -v input_avs -o output_txt
params:
-v 入力画像ファイル
-a 入力音声ファイル(省略時は動画と同じファイル)
-m 無音判定閾値(1〜2^15)
-s 最低無音フレーム数
-b 無音シーン検索間隔数
-e 無音前後検索拡張フレーム数
Setting
video: /directory
audio: (within video source)
out:/directory
mute: 50 seri: 8 bmute: 60 emute: 4
Loading plugins.
Movie data
Video Frames: 2433 [29.97fps]
Video Format:
Audio Samples: 3886002 [48000Hz]
--------
Start searching...
放送局はファイル名から検出できませんでした
ロゴファイルすべてを入力します
``` >>971
上述のシェルスクリプトはこれで正常にエンコードまで終えていますので、シェルスクリプト自体は問題なく動作するはずではあります。もしかしたら環境変数とか、パスの関係かもと思い色々やってみませんでしたが、私ではか解決できませんでした。
env.HOMEの件やってみましたがうまく動きませんでした。。。改変を加えたところがオプションを書いている部分の数字を変えたり追記をしたぐらいです。
変えた部分はこんな感じにしてます。
let videoFilter = 'pullup=jb=54';
Array.prototype.push.apply(args, ['-vf', videoFilter]);
// その他設定
Array.prototype.push.apply(args,[
'-preset', 'veryfast',
'-aspect', '16:9',
'-c:v', 'h264_omx',
'-b:v', '3000K',
'-f', 'mp4',
'-c:a', 'aac',
'-ar', '48000',
'-ab', '320K',
'-ac', '2',
'-r', '24000/1001'
]); >>974
Docker環境で再現できるか試してみます。
ローカルでEPGStationを動かしたことがないのでなにか違いがあるのかもしれないですね >>974
Docker上での話ですが、同じシェルスクリプトでEPGStationからの実行に失敗しました。
2行目の
export PATH…
を消し、
export HOME="/root"
にすることで正常に実行されているようです。
echo $HOME
を叩いて出てきたのを入れて試してみてください。
ちなみに、ログに保存する部分の>を&>にするともう少ししっかりとログが取れます。
Docker環境ではstd::logic_errorがでてました。 >>976
export HOME...を設定するとうまく動作しました!ありがとうございます!
なぜ動かなかったのかを知りたかったので、ホームディレクトリの直下にJLSをインストールしてある状態で「&>」としてログを取ってみました。お恥ずかしながらこれで詳しいログを見れるのを知りませんでした…。
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
放送局はファイル名から検出できませんでした
ロゴファイルすべてを入力します
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_M_construct null not valid
error: failed to open /HOME/JoinLogoScpTrialSetLinux/modules/join_logo_scp_trial/result/番組名/obs_logoframe.txt
error: failed to open /HOME/JoinLogoScpTrialSetLinux/modules/join_logo_scp_trial/result/番組名/obs_chapterexe.txt
events.js:174
throw er; // Unhandled 'error' event
^
長いって怒られたので一回ここでログファイルを分割します。 >>976
続き
Error: ENOENT: no such file or directory, open '/HOME/JoinLogoScpTrialSetLinux/modules/join_logo_scp_trial/result/番組名/obs_cut.avs'
Emitted 'error' event at:
at /HOME/JoinLogoScpTrialSetLinux/modules/join_logo_scp_trial/node_modules/graceful-fs/graceful-fs.js:282:14
at /HOME/JoinLogoScpTrialSetLinux/modules/join_logo_scp_trial/node_modules/graceful-fs/graceful-fs.js:333:16
at FSReqWrap.oncomplete (fs.js:141:20)
同じく'std::logic_error'が出ていてDockerとも違いはなさそうでしょうか。
このログを見る限りENOENTなのでEPGStation側からHOMEの環境変数を正しく読めていないとかなんですかね。
failed to openとなっている場所にフォルダ自体はありましたが、中には所定のファイルがなかったので最初の段階でうまく実行できていないのは間違いないみたいです。 >>978
obs_*.avsファイルは、chapter_exeや、logoframe、join_logo_scpの実行結果により生成されるもので、最後にそれらを結合してin_*.avs(org除く)を作ります。
が、chapter_exe等が正常に動いていません。
なので、最後のENOENTはそもそも存在してないものを読んで結合しようとしてるのでエラーですね。
EPGStationが実行するスクリプトで環境変数を吐くようにするとわかりますが、HOME変数がないのです。
特に調べてないのですが、chapter_exe等のどこかでHOMEを取得する処理をしていると考えられます。(エラーとしてはnullで初期化しようとしたエラーですね。HOMEがないのでnullになってそれで初期化しようとしていると思います。)
HOME変数をEPGStationが渡さないのはたまたまか、理由があってのことなのかわからないのですが、自前定義で動くので作者さんには特に質問等はしてないです。 >>979
内部的にはそのように動作していたのですね。まさかHOMEのせいだとは思いもしませんでした。
ローカルにインストールしていたので、てっきりPATHだと思いそこをぐるぐるしてました。
やはり自分で設計したツールでないと思わぬところに落とし穴があるものですね。
また違うスクリプトをEPGStationで実行する場合はHOME変数については気を付けるようにしようと思います。
ご丁寧にお答えいただきありがとうございました。 >>980
適当にEPGStation向けのドキュメントを書いてみました。
jsのsh版も書いてみました。
EPGStationでのエンコードファイルの保存先の変更(-dオプションをついさっき追加しました)や名前の変更にも対応します。
良かったら参考ください。
https://github.com/tobitti0/JoinLogoScpTrialSetLinux/blob/AddDocuments/Doc/EPGStation.md >>980
ブログのjlse.jsもミスがあったのに気がついて修正したので、githubのものなら動作するはずです。 >>981 >>982
サンプルを書いていただけるだけでもすごく助かります。
jlse.jsはgithubのものを特に編集しないで、そのままコピペで動かすことができました。ありがとうございます。
追加していただいた機能についてドキュメントにないのでお尋ねしたいのですが、
名前の変更が-nオプション、ディレクトリの変更が-dオプションであってますかね。
保存したいエンコードファイルのフルパスを"/record_dir/name.mp4"とすると、-n "name" -d "/record_dir" とすればよいのでしょうか?
ディレクトリに関しては録画ファイル(またはEPGStation)からの相対パスでないか、名前の変更については拡張子をどうするかが少し気になるのですが、どのようになっているのでしょうか。 >>983
動作報告ありがとうございます。
jlseコマンドはjoin_logo_scp_trialのものになるので、こちらにオプションリストはあります。readmeはたいして書いてないので役に立たないかもですが。
https://github.com/tobitti0/join_logo_scp_trial
nが名前、dがディレクトリであってます。
使い方も書いておられるとおりで問題ないです。
ディレクトリについてはシステムのパスです。(-d "/bin" -n "name"を渡せば素直に/bin/name.mp4がffmpegに渡されます。)EPGStationがシステムの絶対パスで保存位置を渡してくれますし、TSからの相対だと直感的でないですしね。
拡張子は今のところmp4の想定なので固定です。ソース内にベタ書きしてあります 。
ただ、拡張子指定オプションは簡単に実装可能なのでmp4以外で出力するニーズがあるようならば実装します。それか、nオプションで拡張子まで書くようにするかですね。 レス数が950を超えています。1000を超えると書き込みができなくなります。