< 0076
< 2024/03/27(水) 23:56:17.48
< 【再生されない】ことは問題でなくて、このリンクでそもそもファイル実体が返ってこない(=404 Not Found)ので直して欲しいという意味でした。 
そこまでは把握してます。
問題としては難しくないのだけれども、hlsは複数のファイルからなる動画だから、404を直しても無味乾燥な代表プレイリストファイル(master.m3u8)のテキストが返ってくるだけになってしまいます。
ディレクトリ型動画の存在を想定した仕様ではないため、仕様を一意に決めることが出来ないです。

というかこのAPIの目的って一体なんなのだ。
ダウンロードが目的であるならffmpegでmp4に変換してそのmp4を返すという挙動、あるいはhlsフォルダをzipでまとめて返すという挙動が重いが綺麗。
あるいはhls動画の場合は、404じゃなくて「405 Method Not Allowed」を返すというのも綺麗。

ブラウザでキャッシュ動画を再生する目的なのであれば、先の答えの通りhls.jsを使った再生ページを作るということになります(そのための基盤はdms/domandのために組んだし)。

> ./local/CustomFilters/UserPage/up.js
> 動画を新規ウィンドウに開いてローカル保存

> NicoCache_nl+150304mod+170106mod (Patch Release, 人柱版)
> ・WebAPI /cache//{movie,audio} の挙動を変更しました.
>  これまでにlowがついていない場合は,(非dmcの)通常キャッシュとエコノミー
>  キャッシュから自動で選択して結果を返していましたが,非dmcの通常キャッシュから
>  結果を返すようになりました.
>  dmcキャッシュを含めたキャッシュから自動で選択して結果を返す新しいWebAPIは
>  /cache//auto/{movie,auto} です.

/cache/下のURL仕様は把握していないけれど、たぶん相対的参照によってファイルリソースを返すような機能がない(master.m3u8からvideo.m3u8を参照出来ないし、そこからさらに動画セグメントを参照出来ない)。
そうなると既存のURL仕様ではhlsに対応出来ないです。