serve ffmpeg.wasm
This commit is contained in:
31
src/main.rs
31
src/main.rs
@ -78,6 +78,17 @@ async fn font() -> Result<Response<Body>, String> {
|
||||
)
|
||||
}
|
||||
|
||||
async fn ffmpeg() -> Result<Response<Body>, String> {
|
||||
Ok(
|
||||
Response::builder()
|
||||
.status(200)
|
||||
.header("content-type", "application/wasm")
|
||||
.header("Cache-Control", "public, max-age=1209600, s-maxage=86400")
|
||||
.body(include_bytes!("../static/ffmpeg/ffmpeg-core.wasm").as_ref().into())
|
||||
.unwrap_or_default(),
|
||||
)
|
||||
}
|
||||
|
||||
async fn resource(body: &str, content_type: &str, cache: bool) -> Result<Response<Body>, String> {
|
||||
let mut res = Response::builder()
|
||||
.status(200)
|
||||
@ -232,6 +243,26 @@ async fn main() {
|
||||
app
|
||||
.at("/highlighted.js")
|
||||
.get(|_| resource(include_str!("../static/highlighted.js"), "text/javascript", false).boxed());
|
||||
// FFmpeg
|
||||
app
|
||||
.at("/ffmpeg/814.ffmpeg.js")
|
||||
.get(|_| resource(include_str!("../static/ffmpeg/814.ffmpeg.js"), "text/javascript", false).boxed());
|
||||
app
|
||||
.at("/ffmpeg/814.ffmpeg.js.map")
|
||||
.get(|_| resource(include_str!("../static/ffmpeg/814.ffmpeg.js.map"), "text/javascript", false).boxed());
|
||||
app
|
||||
.at("/ffmpeg/ffmpeg-core.js")
|
||||
.get(|_| resource(include_str!("../static/ffmpeg/ffmpeg-core.js"), "text/javascript", false).boxed());
|
||||
app.at("/ffmpeg/ffmpeg-core.wasm").get(|_| ffmpeg().boxed());
|
||||
app
|
||||
.at("/ffmpeg/ffmpeg-util.js")
|
||||
.get(|_| resource(include_str!("../static/ffmpeg/ffmpeg-util.js"), "text/javascript", false).boxed());
|
||||
app
|
||||
.at("/ffmpeg/ffmpeg.js")
|
||||
.get(|_| resource(include_str!("../static/ffmpeg/ffmpeg.js"), "text/javascript", false).boxed());
|
||||
app
|
||||
.at("/ffmpeg/ffmpeg.js.map")
|
||||
.get(|_| resource(include_str!("../static/ffmpeg/ffmpeg.js.map"), "text/javascript", false).boxed());
|
||||
|
||||
// Proxy media through Redlib
|
||||
app.at("/vid/:id/:size").get(|r| proxy(r, "https://v.redd.it/{id}/DASH_{size}").boxed());
|
||||
|
Reference in New Issue
Block a user