コンピュータでテレビを見る:PotPlayer

Hypnotics は通信速度が遅く、頻繁にフリーズします。
先日の全日本卓球はほとんどフリーズだらけで、視聴を途中でやめてしまいました。

そこでネット検索して PotPlayer というものを使えばテレビを視聴できることがわかりました。
このサイトを参考にしました。
ただし、PotPlayer は windows 10 でしか動きません。

私は windows が嫌いで新しいコンピュータを購入するとすぐに linux をクリーンインストールしてしまうので、windows はありません。

ただしそれではあまりにも不便なので、以前の windows のディスクから virtualbox で動く環境にはしてありました。その中には windows 10 もあります。

PotPlayer の使い方

PotPlayer をインストール後に起動して、m3u8 ファイルのパスをコピーして ctl + v で貼り付けるとテレビ画面を見ることができます。

閲覧するためには m3u8 ファイルのネット上のパスを取得することが必要です。

ネット上からパスを取得できるということは違法ではないと思いますが、NHKなどを受信料を払うことなく見ることができてしまいます。本当に法的に問題がないんでしょうか?

ただし、閲覧できるのは本来は 4K なんでしょうが、実際には解像度がかなり粗くなります。

ffmpeg で予約録画する

ffmpeg と cron を使えば予約録画ができます。
環境は linux mint 21.1 です。

例えば以下のようすると、ある番組の録画が開始されます。
ファイル名は video.mp4 として記録されます。


ffmpeg -i http://redlabmcdn.s.llnwi.net/hoge/index.m3u8 -c copy -bsf:a aac_adtstoasc ./video.mp4

これを元にシェルスクリプトを作成して cron で以下のようにすると、30分間録画された後で自然に停止します。


30 12 * * * timeout 1800 ~/shell/test.sh

ただ、この方法はいかにも面倒なので、もっと工夫して何もかも自動で録画できるようにする必要があると思います。

Vostro Notebook 3578 に windows 10 を再インストール

2019年2月に購入した DELL の Vostro Notebook 3578 に windows 10 を再インストールしました。

購入してすぐに winodws を追い出して linux mint をインストールしたのでおよそ 4 年ぶりに windows 10 を入れたことになります。

DELL の BIOS にプロダクトキーが記録されているようで、ネットから windows 10 をダウンロードしてそれを usb メモリに書き出して、その usb からクリーンインストールしました。

linux に慣れすぎたせいか windows はとても面倒です。
でも、何とかインストールできました。それにしても、途中でメールアドレスやら生年月日やらを入力しないとインストールさせてもらえません。これ、ひどいと思いますが。

このコンピュータとテレビ(Aquos 60型)を HDMI ケーブルで接続すると、PotPlayer を通してテレビが視聴できます。

ただし、画像はやや粗く「720 × 480」しかありません。
本来の 4K であれば「4096 × 2304」なので、かなり画質は異なります。

粗い画像であればどうぞということでしょうか?

html からバッチファイルを実行する

html でテレビ一覧を表示してそれにリンクを貼ってクリックしたらバッチファイルが実行されるというようなことをしようと思いました。

でもこれはうまくいきません。
Internet Explorer なら一応できますが、いちいち確認を要求されます。
Firefox では絶対にできないので、リンクでバッチファイルを実行するのはダメだと思います。

じゃあどうするかと言うと、php でバッチファイルを実行させればいいです。

html は、


<div class="channel">TBS</div>

jQuery で、


$(function () {
	$('.channel').on('click', function () {
		var ch = $(this).text() ;
		location.href = "exBatch.php?ch=" + ch ;
	});
});

php は、


<?php
$channel = $_GET['ch'] ;
$batfile = $channel.'.bat' ;
$command = "cmd.exe /c ".'C:\xampp\htdocs\netTV選局\batchFiles\\'.$batfile ;
exec($command);

とすれば、面倒な確認プロセスはありません。

現在 linux で視聴

2024 年 2 月現在、Windows を削除して linux でテレビを見ています。
おそらく、Windows でもできるとは思いますが。

php なんかは必要ではなく、jQuery で以下のようにしています。


$(function(){
	var url = new URL(window.location.href);
	var params = url.searchParams;
	var channel = params.get("channel");
	var m3u8 = "https://hoge.com" + channel;	
	if(Hls.isSupported()) {
		var hls = new Hls();
		hls.loadSource(m3u8);
		hls.attachMedia(video);
		hls.on(Hls.Events.MANIFEST_PARSED,function() { video.play(); });
	}   	
}); 

最大の問題は、m3u8 の URL を取得することですが、この方法によるとスクランブル放送と言われているものまで見られるので、コンプライアンス上問題ではないかと思います。

そのうち消えていくものかもしれません。