Linuxでテレビ総合スレ 避難所 [無断転載禁止]©2ch.net
レス数が900を超えています。1000を超えると表示できなくなるよ。
>>823
楽勝というほど簡単に見えない
そのサイトはCMカットまで含めてるにせよ、難易度はともかく手数が多い
質問主はchinachuの録画後処理でシームレスにやりたそうだし、簡単にできるなら知りたいって感じだからな TSから抽出した字幕とか
外人のファンサブみたいにvobsub等であれこれエフェクトをつけたりしないのなら
もっとシンプルにできそうな気もするけど。 >>824
おっしゃるとおり手軽にできるのならやりたいという軽い動機しかありません。
現状chinachuから録画→ffmpeg VAAPIでmp4エンコを自動でやっているので
それに字幕をつけたせればいいと思いつきまして。
HDD増設してtsファイルのまま保存するというのも手ですが。
そういえばvlc3.0.1からtsのPIDを選ぶ画面が文字化けしなくなって使い物になるようになってました。 ぱっと思いついた方法
1.ARIB字幕を抜き出して一般的な字幕ファイルに変換した後ffmpegで字幕データも含めてmp4にする 字幕抜き出しはpythonのライブラリーでできた記憶がある
2.TSを字幕データを残したまま映像のエンコードだけしてTSとして保存する(TS→エンコ→TS) >>827
2がよさそうですが、ffmpegでどうすればいいんでしょう? >>830
レスありがとうございます。これは相当大変ですな・・・
聴覚の障害があるわけでもないので。そこまでして日本語字幕を残してもしょうがないような。 >>827
ttps://github.com/johnoneil/arib
pythonのってこれ?
全録+字幕全文検索とか出来たら便利そう >>828
2で字幕のpidが保存されてるなら
>>820
と同じサイトのmpv で再生すればいいんでないの? >>832
そのpythonスクリプト見てよさそうだったので使ってみたのですが、
tsファイル名が日本語だとエラーがでるようです。
そこでchinachuのrecordedcommandから
mv $1 /nas/videos/input.ts
arib-ts2ass /nas/videos/input.ts
mv /nas/videos/input.ts $1
とやったのですが、最後のmvが実行されません。
シェルスクリプトは素人なのでお教えいただけると幸いです。 str1=$1
str2=$1
mv $str1 /nas/videos/temp.ts
arib-ts2ass -q /nas/videos/temp.ts
mv /nas/videos/temp.ts $str2
でいけました。あとはassファイルとmp4を結合するだけです。 最初はmkvじゃないとだめだと思ったのですが、
https://ffmpeg.org/pipermail/ffmpeg-user/2015-April/026088.html
ffmpeg -i vid.mp4 -f ass -i vid.ass -c:v copy -c:a copy -c:s mov_text
subtitle.mp4
でchinachuのrecordedcommandに書いて字幕付きmp4が完成しました! https://pastebin.com/mAfSHA3V
https://amaya382.hatenablog.jp/entry/2015/08/07/014140
こちらのページなどを参考にしながらchinachuから録画終了後に呼ぶencode.shスクリプトを作ったのですが、字幕がない番組の場合、mp4が削除されてしまいます。。。
ffprobeやmediainfoで字幕のあるなしを検出して処理すれば大丈夫だと思うのですが、
どのようにして字幕のあるなしの値を取得すればよいのでしょうか?
どなたかお助けください。 ffmpeg ...
if [ $? -eq 0 ]; then rm ...; fi https://pastebin.com/SxHt2ETq
mediainfoの subtitle_exist="$(mediainfo --Inform='Text;%Format%' $str1)"
でいけました。一応pastebinの方も更新しておきました。
クソスクリプトで何の参考にもならないかもしれませんが、よかったらどうぞ。 どうもmp4ファイルがサポートしている字幕(mov_text)だとCCが正確に表示されないようですね。
mkvなら大丈夫でした。 >>818
うちはmp4とassで保存して、再生時に同時に再生するプレイリストをepgrecにつけてたな mp4はmov_textしかサポートしていないからarib字幕から変換したassをフルに表示できない。
mkvにすれば問題ない。 -c:s mov_text でmuxすればいいんでないの 最初から録画した動画をmediainfoで字幕のあるなしを判定しようとすると、ない場合でもARIB STD B24/B37
と検出されるようです。
今まで途中から手動録画して取った字幕なし動画で調べていたので気が付きませんでした。(その場合ARIB STD B24/B37とはでません)
字幕のあるなしの判定を
if [ ! -e /nas/videos/temp.ts.ass ]; then
にしたらうまくいきました。
https://pastebin.com/SxHt2ETq
誰も読んでいないかもしれませんが、更新しておきました。 CentOS6.9(x64)でChinachu γを動作させたいのですが
「chinachu-operator」と「chinachu-wui 」がerroredになります。
どなたか解決策を教えてください。chinachuのインストールはAuto(full)で実施しました。
chinachu-operator.stderr.logでは、
Error: Module version mismatch. Expected 48, got 57.のエラーが出てます。
chinachu-wui.stderr.logでは、
SyntaxError: Unexpected token > in JSON at position 1のエラーが出てます。
node.jsはv8.11.1使ってます。よろしくお願いします。 >>847
こんな感じです
[chinachu@localhost chinachu]$ cat config.json
{
"uid": "chinachu",
"gid": "video",
"mirakurunPath": "http+unix://%2Fvar%2Frun%2Fmirakurun.sock/",
"recordedDir" : "./recorded/",
"vaapiEnabled": false,
"vaapiDevice": "/dev/dri/renderD128",
"excludeServices": [
3273701416,
3232728088,
3273901183,
3274201456,
3239123992,
3239123993,
3273601408
],
"serviceOrder": [
3273601024,
3273601025,
3273701032,
3273701033,
3273701034
], >>847
つづき
"wuiUsers": [
"chinachu:yoshikawa"
],
"wuiAllowCountries": ["JP"],
"wuiPort": null,
"wuiOpenHost": "0.0.0.0",
"wuiTlsKeyPath": null,
"wuiTlsCertPath": null,
"wuiTlsRequestCert": false,
"wuiTlsRejectUnauthorized": true,
"wuiTlsCaPath": null,
"wuiOpenServer": true,
"wuiOpenPort": 20772,
"wuiXFF": false,
"wuiDLNAServerEnabled": false,
"wuiMdnsAdvertisement": true, >>847
つづき
"recordedFormat": "[<date:yymmdd-HHMM>][<type><channel>][<channel-name>]<title>.m2ts",
"storageLowSpaceThresholdMB": 3000,
"storageLowSpaceAction": "remove",
"storageLowSpaceNotifyTo": null,
"storageLowSpaceCommand": ""
} config.jsonのエラーかと思ったけど違うか
node v8はグローバルにインストールしているんだよね?
推測になるけど
node v8の付属のnpmでモジュールがインストールされて、
chinachuの内部のnode(v6)で動かそうとしているからモジュールバージョンが出ていそう うちのはnode_modules消して.nave/npm installしたら直ったよ >>851
はい。グローバルにインストールしてます。
yumでv8をインストールしようとしても、v6が最新版と言われてしまうので
v6はyum、v8はnvmとインストール方法が異なってます。
この辺が悪さしてるんですかね…
>>852
ありがとうございます
chinachu-operatorはerroredのままですが、
chinachu-wuiがonlineになりました! >>853
v6をインストールしてnvmでv8を追加していると言う事なのか
chinachuはnaveでnode v6を内包していて、それを使って動かすように出来ているから.nave/nodeでchinachuが動いているか確認した方がいいよ
恐らくpm2の設定がおかしいのでは? >>854
知識不足ですみません。
.nave/nodeでchinachuの正常性確認はどのようにすれば良いでしょうか。
.ndve/nave.shではuse latestするとv3になってしまったので、useでv6を明示的に指定しましたがerroredのままでした。
また、pm2 updeteしても症状変わらずです。 ffmpegでtsファイルを動画だけH.264にトランスコードして字幕や音声はそのままcopyするにはどうすればよいので
しょうか?(outputもtsファイルにしたいんです)
そんなことができれば、arib-ts2assなんてツールも作られなかったのかな? >>856
コンテナそのままで映像だけエンコードしたいってこと? >>827あたりの流れが近かったような
俺は知識不足で力になれんが ffmpeg -i input.ts -c:a copy -c:v libx264 -crf 23 -f mpegts output.ts
こんなんじゃあかんのか? >>860
ts標準のaribB23/B24字幕を消さずにトランスコード後も残すのはtsでは無理のようです。
arib-ts2assを使うとフォントのサイズや字体がarib字幕と異なるので、できれば元のtsの字幕を
残したいのですが。 >>853
aribの字幕はプレイヤー側の設定が反映されますが(vlcなど)、
arib-ts2assで作成した字幕には設定が反映されません。
(フォントもMS UI Gohitcと指定されている) >>820
の使えば ただ残すだけで後で対応プレーヤーで再生する気なら
ffmpeg -i input.ts -c:s copy -c:a copy -c:v libx264 -crf 23 -f mpegts output.ts
とかじゃないの?
非対応のプレーヤーでも再生したいなら >>841 の通り 492 から 510 を見るとか そのパラメータだと、EITとか字幕とかごっそり消し飛んでしまうんじゃね? ffmpeg -i input.ts -map 0:p:<program_id> -ignore_unknown -c:v libx264 -c:a copy -c:d copy output.ts
はどう? >>866
字幕は-c:s copy で残るでしょ (ARIBで言うところの字幕スーパーは除く)
ffmpeg自体 映像 音声 字幕を一つづつ選んで多重化するのが基本みたいなとこあるから
EITやデータ放送も残したければgstreamerのtsdemux とかでプログラム指定してdemuxして
映像だけ再エンコしてtsmuxするとかかな... ここテレビ視聴・録画のスレでしょ
エンコの類は別に専用スレあるんだからそっちでやれ テレビ総合スレであってテレビ録画視聴スレではないのでスレチではない Mirakurunのdvbdevicepathってdvbv5-zapのときも必要? >>868
arib字幕は-c:s copyでは残らないよ。 >>873
>>820 のffmpeg を使えば残る >>874
情報ありがたいが、VAAPIに対応していないっぽいし、softcas前提という時点でちょっと・・・ optionalって書いてあるしスクランブル解除済みのts食わせりゃいらないんじゃね?知らんけど。
それにlibpcscliteも併記されてるからカードリーダーとB-CASカードでもできるんじゃね? Mirakurunの設定は
- name: BSジャパン
type: BS
channel: BS03_1
serviceId: 171
から
- name: BSジャパン
type: BS
channel: BS01_2
serviceId: 171
で大丈夫
idの変化もないので予約のやり直しは不要かな ドキュメントのserviceIdにはservices will scanned automatically.って書いてるけど実際どういう挙動するんだろうか >>879
その設定だとなぜか取れない
おま環っぽいので継続調査 PLEX版recpt1+PX-W3U4でチャンネルBS01_2を指定すると
No Signal
になってしまう。
STZ版recpt1+PT3は問題ない
調べるのも面倒なので、放っておくか 上手くいかんなあと思ったら
recdvbにチャンネル埋め込まれてるんかこれ
……どのrecdvb使ってたんだっけな >>883
現行唯一まともにBS使えるのはdogeel版だけだと思うが >>885
dogeel版なんだが
pt1_dev.hを書き換えないとダメだったわ >>882
>PLEX版recpt1+PX-W3U4でチャンネルBS01_2を指定すると
>No Signal
>になってしまう。
同じだ
pt1_dev.hを何となくそれっぽく弄ってビルドしてみたが変わらず
さらに継続調査
BSジャパンはどうでもいいけど >>888
W3PEスレの情報を見てもしやと思って確認してみたら
usb-px4.koの中にBSの周波数やTSIDの情報が入ってるっぽいです
でもpt1_dev.hを書き換えてビルドとusb-px4.koに無理やりパッチ当てと
両方試しても自分の環境では変化なしでした
先月Linux系OSに手を出したばかりの自分にはお手上げです そりゃ参った
前に有志の人が作ってたドライバはまだBSだけだったかな
https://github.com/nns779/px4_drv 予備のさんぱくんはrecfsusb2nのchannel.h変更で解決した
W3U4はさて困ったな W3PEスレを参考にして変更してみたよ
usb-px4.ko
周波数変更
4:6BE8 50 78
4:6BE9 88 F2
4:6BEA B3 B2
TSID変更
4:6BF8 31 12 Debian8.0.0_64bit_kernel3.16.0-4で確認
他の環境は微妙に前後するはず うちはPT3だった
{ 1, CHTYPE_SATELLITE, 1, 0x4031, "171"}, /* 171ch:BSジャパン */
{ 0, CHTYPE_SATELLITE, 2, 0x4012, "171"}, /* 171ch:BSジャパン */
にしたんよ
配列の一つ目と三つ目を変える必要があったのかは良くわからぬ DTV板だとすぐdat落ちするのでAV機器・ホームシアター板にお引越ししました。
TS再生をREGZAのSMB共有で楽しむスレ Part13
https://mevius.5ch.net/test/read.cgi/av/1523882702/ pt1-b14397800eae.tar.bz2という2012年6月ごろのアーカイブ使ってる自分は
{ 1, CHTYPE_SATELLITE, 1, "171"}, /* 171ch:BSジャパン */という部分を
{ 0, CHTYPE_SATELLITE, 2, "171"}, /* 171ch:BSジャパン */に変更して並びを一行上げました >>892
自分はCentOS7ですがこちらを参考にもう一度試してみたところ、
PLEX版recpt1で一応録画できるようにはなりました
しかし、自分はepgrecUNAで録画環境を構築しているのですが、
epgrecUNA側ではすでにEPG情報をもとにBSジャパンが「BS01_2」になっているのに対し、
PLEX版recpt1では従来のままの「BS03_1」にしないとBSジャパンが録画されないため
結局epgrecUNAではうまくいかないままになっています
これはpt1_dev.hの
{ 1, CHTYPE_SATELLITE, 1, "171"}, /* 171ch:BSジャパン */
を
{ 0, CHTYPE_SATELLITE, 2, "171"}, /* 171ch:BSジャパン */
と書き換えてビルドしなおしても同じでした チャンネル番号変更(BS03_1からBS01_2)対応するには892に追加して
Debian 64bit 確認
4:7B58 01 00
4:7B5c 01 02
CENTOS 64bit 未確認
4:ABF8 01 00
4:ABFC 01 02
で897の通りpt1_dev.h書き換え mirakurunの場合チャンネル番号変更 >>898
できました! ありがとうございます
しかしチャンネル番号までusb-px4.koに埋め込みとは
CSはどうなってるんでしょうねこれ、再編があったら対応できるのでしょうか…… プレ糞のせいで大変やなあ
チャンネル番号ハードコードとか阿呆にも程がある >>892
CentOS版も同じHex値(50 88 B3)が現れるとこを探せばいけるかな
帰ったらやってみる CentOSできたっぽいのでまとめる。
指摘・追加修正は熱烈歓迎
■usb-px4.ko
周波数変更
4:9C88 50 78
4:9C89 88 F2
4:9C8A B3 B2
TS-ID変更
4:9C98 31 12
チャンネル番号変更(BS03_1からBS01_2)
4:ABF8 01 00
4:ABFC 01 02
■recpt1/pt1_dev.h
{ 1, CHTYPE_SATELLITE, 1, "171"}, /* 171ch:BSジャパン */
↓
{ 0, CHTYPE_SATELLITE, 2, "171"}, /* 171ch:BSジャパン */
■mirakurunのチャンネル設定
- name: BS JAPAN
type: BS
channel: BS01_2
serviceId: 171 そろそろ有志でLinuxドライバをつくれないのか?いつまでもバイナリ書き換えに頼るのも無理があるだろ ts環境維持は何かとしんどいな
OSから上は塩漬けにできるが
ハードは入手できなくなるかもだし
今回みたいに外的要因もある >>902
まとめ、ありがとうございます。
当方、chinachuβ+PT3 on Debian8という古い環境ですが、pt1_dev.h書き換え後、
recpt1再コンパイル、インストールだけで録画できるようになりました。 Twitter検索したら、BSプレミアム他、トラポン後のpt1_dev.hを書いてくれている人を
見つけました。感謝しつつ、以下に変更箇所を転載しておきます。
BSプレミアム(5月8日6時以降)
{ 1, CHTYPE_SATELLITE, 1, "103"}, /* 103ch:NHK-BSプレミアム */
ディズニー・チャンネル(5月22日6時以降)
{ 1, CHTYPE_SATELLITE, 2, "256"}, /* 256ch:ディズニー・チャンネル */
BSアニマックス(5月22日6時以降)
{ 6, CHTYPE_SATELLITE, 2, "236"}, /* 236ch:BSアニマックス */
スターチャンネル2(5月28日8時以降)
{ 7, CHTYPE_SATELLITE, 1, "201"}, /* 201ch:スターチャンネル2 */
スターチャンネル3(5月28日8時以降)
{ 7, CHTYPE_SATELLITE, 2, "202"}, /* 202ch:スターチャンネル3 */ vapoursynth-dambに渡す適切なdelay値を取得する方法が見つからなかったから、
自前で動画と音声の開始位置のズレを算出するツール作ったまでは良かったんだけど、
完成してから全く同じ名前でほとんど同じ機能のツールをgithubで見つけてわろた pt1_dev.h ってどこかで見たファイル名なのだが
どこにあるファイル??見当たらないorz foltia ANIME LOCKER 6.0.6でU4とPE4のドライバがBSジャパンのトラポン移動に対応したみたいなので覗いてみました
旧バージョンのドライバと比較するとサイズが異なっていたのでもしや…と思い内容を確認してみると、ISDB-S用のTSIDの持ち方が変更されていました
新バージョンでは旧バージョンと異なり物理チャンネル周波数とTSIDを別々の配列で持つようになっていました
BSは物理チャンネル1つごとに3つのTSID(slot: 0,1,2)が設定できるようになっていたので、新バージョンのドライバでトラポン移動に対応するには周波数を書き換える必要ななくTSIDを書き換えるだけでOKみたいです
ところでPLEX公式サイトで新バージョンのドライバが公開されるのはいつごろになりますかね?トラポン移動がすべて終了後した6月ごろ?
だとしたら旧バージョンのドライバを書き換え続けるしかなさそうですが 糞だゴミだ言われたから内部では修正したのか
さっさと公開しろプレ糞
debian8はサポートして最新の9対応しないとか、ubuntuのカーネル固定とかマジやめろ Windows用のBonDriver(Jacky版)も更新するんでしょうから
順番としてはその後になりそうな気はしますね 1月のBS再編以降、ffmpeg vaapiでhwaccel, hwaccel_output_formatを使うと画面が崩れる現象が起きて、
VP9_vaapiのトランスコードが使えなかったんだが、EPGStationの作者さんによると、
>hwaccel, hwaccel_output_format オプションは使用していない理由は、BS の一部のチャンネル(今年の1月に
>帯域削減があった局)にて正常にデコードされないためです。
>おそらくMPEG2AD への変更が原因なのではないかな?と思います。
https://github.com/l3tnun/EPGStation/issues/73
らしい。これには大いにハマったので転載しておきます。 それURL違うかも
issue#78みたい
うちでも特定のBS局でvaapiがうまく行かない現象あって個別に別エンコしてるけど同件かなあ
調べてみよう
なおうちではvaapiエンコ後のサイズがソースと大差ない大きさで再生するとノイズまみれになる https://github.com/l3tnun/EPGStation/issues/78
失礼、こっちの方でした。それにしても検索してもほとんど情報がないってことはvaapiエンコしてる
人ってあんまりないんですかね?
ffmpegがこの問題に対応してくれるかは日本特有の事情だからわからんし。 とりあえずhwaccelとhwaccel_output_formatを外したら改善した
これはデコード時にHW支援せずエンコードのみHW支援するってことだよね
実際CPU使用率は上がって変換速度は落ちたし https://mevius.5ch.net/test/read.cgi/avi/1517207051/531
531名無しさん@編集中 (ワッチョイWW bfe7-PAl2)2018/02/17(土) 16:33:51.29ID:vAnUmzZB0
仕様には入っているだろうからきちんとテストされているんでしょ
手元の環境ではbsフジ以外の帯域削減チャンネルで
ffmpeg + nvenc, ffmpeg + vaapi(qsv) にてデコード、デインターレースをハードウェアで行うのが駄目
nvencは動画の長さが伸び、vaapiではブロックノイズまみれ
すでにレスがありました。デコードはソフトにできましたが、デインターレースをソフトでやるってどうやればいいんでしょうか?hwuploadとかあってよくわかりません。 vaapi画質糞だからなあ
g1820程度でもlibx264 veryfastリサイズ無しで等速くらいは速度出るから、vaapiからswエンコに変えたよ
画質はqsvエンコとどっこいくらいだけど、アホみたいにサイズが縮まるから予約が少ないなら快適 EPGstationならストリーミング用途もある
保存エンコソフトでストリーミングはCPU使わずにハードという使い分けもありだろう レス数が900を超えています。1000を超えると表示できなくなるよ。