デスクトップSafariで動画のストリーミング再生をPiping Server経由するときの色々
#Piping_Server #Safari #streaming #video
このissueが始まり:Unable to play video streamed using piping server on safari. · Issue #171 · nwtgck/piping-server
issueのタイトルでは「Safariでストリーミング再生できない」ってなっているが、issue報告者の方が色々試したところ、Safariで動画が再生できるようになった(謎)。
iOS SafariだとHTTP Range対応が必要と書いてある公式ドキュメントの場所も関連している。
以下は報告者のkkanhiyaさんが、Safariでストリーミングできているデモ動画。
https://gyazo.com/f4b938e2e57fc266ae2ad3bb01da1f06
実際に打っているコマンドはこれ:
ブラウザで使用されているHTMLはこれ:
.txt => .htmlに変えて使えば良い
ただ、HTMLでなくてもダイレクトに動画URLをSafariで開いても再生することができた
再生まで手順
少し再現するのに手間がかかる。うまく行った方法を載せたい。
Big list of sample videos for testers - standaloneinstaller.comでP6090053というタイトルのMP4をダウンロードする
https://gyazo.com/afd4176d30deb26b5f841cfd19b0a7eb
元々、51MBぐらいの動画を使っていたが、うまく再生できず、で2.6MBだよでうまく行ったと教えてもらったので、それに近い動画を使っている。
再生できたときのSafariの挙動を見るとなんとなくストリーミングというより、全部ロードしているようにも見えたからそれが、大きい動画だとうまくいかない原因なのかもしらない ネットワークタブを見る限りストリーミングしていた。
プログレッシブダウンロードの形式にP6090053.mp4を変換する
$ ffmpeg -i P6090053.mp4 -codec copy -movflags faststart 2video.mp4
生成後は2video.mp4 (名前の由来は特にない)
Safariでプライベートブラウジングしてhttps://ppng.io/myvideo2を開く
$ cat 2video.mp4 | curl -T - https://ppng.io/myvideo2 を何回か叩く
何回かと言うのは、Safariで再生できるようになるまで
ただ、音は再生できる映像は再生できなかった。でも報告者のkkanhiyaさんのデモ動画ではできているので、動画を変えればできるのだと思う。
QuickTime Playerでも再生できなかったし。
以下のように映像が出ない。
https://gyazo.com/5cd765ee2d71563fd2c11fca17b045d3
追記: 再生も自分の環境でできた
ray.mp4という51MBぐらいのファイルをストリーミングしながら再生ができた。
以下がそのときの動画。
ネットワークの状態も
https://gyazo.com/3c05d2c3cf88610b25d21b65ac4fe907