From: Vásáry Dániel Date: Fri, 9 Feb 2024 11:43:36 +0000 (+0100) Subject: Initial release X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=5e759caced63b7188439a6eeb771aa0cb676b5e1;p=mediacube.git Initial release --- diff --git a/media-samurai/KB.md b/media-samurai/KB.md index af3f4c49..6c69ea7b 100644 --- a/media-samurai/KB.md +++ b/media-samurai/KB.md @@ -5,3 +5,13 @@ ffmpeg -y -i multi_audiotest5.mkv -filter_complex "[0:a:0][0:a:1]amerge=inputs=2 megtartja az eredeti hangot is ffmpeg -y -i multi_audiotest5.mkv -filter_complex "[0:a:0][0:a:1]amerge=inputs=2[a]" -map "[a]" -ac 2 -map 0 mixed_audio_output.mkv +https://hlsbook.net/creating-a-master-playlist-with-ffmpeg/ +http://underpop.online.fr/f/ffmpeg/help/hls-2.htm.gz +https://trac.ffmpeg.org/wiki/AudioChannelManipulation +https://trac.ffmpeg.org/wiki/Map + +tools https://github.com/videojs/http-streaming#tools +online coding https://replit.com/@vasary/Phind-Code-Snippet#pyproject.toml +video host https://api.video + +https://mediaarea.net/hr/MediaInfo/Support/Fields \ No newline at end of file diff --git a/media-samurai/api.py b/media-samurai/api.py index a44848db..fb542809 100644 --- a/media-samurai/api.py +++ b/media-samurai/api.py @@ -29,7 +29,7 @@ app.add_middleware( allow_methods=["*"], allow_headers=["*"], ) -app.mount("/video", StaticFiles(directory="hls"), name="VIDEO") +app.mount("/static", StaticFiles(directory="static"), name="static") @app.post("/submit") diff --git a/media-samurai/hls/002.bat b/media-samurai/hls/002.bat deleted file mode 100644 index 97cb32a1..00000000 --- a/media-samurai/hls/002.bat +++ /dev/null @@ -1,11 +0,0 @@ -ffmpeg -y -i d:\data\video\hls\ma.mkv ^ - -preset slow -g 48 -sc_threshold 0 ^ - -map 0:0 -map 0:1 -map 0:8 ^ - -s:v:0 960x540 -c:v:0 libx264 -b:v:0 2000k ^ - -c:a:0 aac ^ - -c:a:1 aac ^ - -var_stream_map "a:0,agroup:audio,default:yes a:1,agroup:audio v:0,agroup:audio" ^ - -master_pl_name master.m3u8 ^ - -f hls -hls_time 6 -hls_list_size 0 ^ - -hls_segment_filename "out/%%v/fileSequence%%03d.ts" ^ - out/%%v/prog_index.m3u8 diff --git a/media-samurai/hls/KB.md b/media-samurai/hls/KB.md deleted file mode 100644 index 397a7e63..00000000 --- a/media-samurai/hls/KB.md +++ /dev/null @@ -1,10 +0,0 @@ -https://hlsbook.net/creating-a-master-playlist-with-ffmpeg/ -http://underpop.online.fr/f/ffmpeg/help/hls-2.htm.gz -https://trac.ffmpeg.org/wiki/AudioChannelManipulation -https://trac.ffmpeg.org/wiki/Map - -tools https://github.com/videojs/http-streaming#tools -online coding https://replit.com/@vasary/Phind-Code-Snippet#pyproject.toml -video host https://api.video - -https://mediaarea.net/hr/MediaInfo/Support/Fields \ No newline at end of file diff --git a/media-samurai/main.py b/media-samurai/main.py index 594d975f..12a2aabf 100644 --- a/media-samurai/main.py +++ b/media-samurai/main.py @@ -1,5 +1,3 @@ -import json - import uvicorn from loguru import logger diff --git a/media-samurai/hls/003.bat b/media-samurai/samples/hls-multiaudio1.bat similarity index 100% rename from media-samurai/hls/003.bat rename to media-samurai/samples/hls-multiaudio1.bat diff --git a/media-samurai/hls/004.bat b/media-samurai/samples/hls-multiaudio2.bat similarity index 92% rename from media-samurai/hls/004.bat rename to media-samurai/samples/hls-multiaudio2.bat index c06fdcfc..d4f13f8f 100644 --- a/media-samurai/hls/004.bat +++ b/media-samurai/samples/hls-multiaudio2.bat @@ -1,5 +1,5 @@ ffmpeg -y -i d:\data\video\hls\ma.mkv ^ - -map 0:0 -map 0:1 -map 0:8 ^ + -map 0:v:0 -map 0:a:1 -map 0:a:1 ^ -var_stream_map "a:0,agroup:audio,default:yes a:1,agroup:audio v:0,agroup:audio" ^ -c:v libx264 ^ -profile:v main ^ diff --git a/media-samurai/hls/001.bat b/media-samurai/samples/hls-multistream.bat similarity index 100% rename from media-samurai/hls/001.bat rename to media-samurai/samples/hls-multistream.bat diff --git a/media-samurai/samples/merge-audio.bat b/media-samurai/samples/merge-audio.bat new file mode 100644 index 00000000..dfc62196 --- /dev/null +++ b/media-samurai/samples/merge-audio.bat @@ -0,0 +1 @@ +ffmpeg -y -i d:\data\video\hls\ma.mkv -filter_complex "[0:a:0][0:a:1]amerge=inputs=2[a]" -map 0:v -map "[a]" -c:v copy -ac 2 d:\data\video\hls\output.mkv \ No newline at end of file diff --git a/media-samurai/hls/video-bipbop.html b/media-samurai/samples/video-bipbop.html similarity index 100% rename from media-samurai/hls/video-bipbop.html rename to media-samurai/samples/video-bipbop.html diff --git a/media-samurai/hls/videoinfo.bat b/media-samurai/samples/videoinfo.bat similarity index 100% rename from media-samurai/hls/videoinfo.bat rename to media-samurai/samples/videoinfo.bat diff --git a/media-samurai/hls/index.html b/media-samurai/static/index.html similarity index 100% rename from media-samurai/hls/index.html rename to media-samurai/static/index.html diff --git a/media-samurai/transcode.py b/media-samurai/transcode.py index 5f12bb7e..07122751 100644 --- a/media-samurai/transcode.py +++ b/media-samurai/transcode.py @@ -3,7 +3,6 @@ from datetime import datetime from loguru import logger from pydantic import BaseModel -from enum import Enum import time from hls import transcode_hls, TranscodeStatus diff --git a/server/user.jobengine.osgi.commons/src/user/commons/MediaSamuraiAPI.java b/server/user.jobengine.osgi.commons/src/user/commons/MediaSamuraiAPI.java index 721b72ec..d10b2320 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/MediaSamuraiAPI.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/MediaSamuraiAPI.java @@ -25,8 +25,8 @@ public class MediaSamuraiAPI { final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(2); // String sources[] = { "ftp://dani:dani@localhost/data/video/hls/ma.mkv" }; - String sources[] = { "ftp://dani:dani@localhost/data/video/X.MXF" }; -// String sources[] = { "ftp://dani:dani@localhost/data/video/N.mxf" }; +// String sources[] = { "ftp://dani:dani@localhost/data/video/X.MXF" }; + String sources[] = { "ftp://dani:dani@localhost/data/video/N.mxf" }; String target = "ftp://dani:dani@localhost/data/video/hls/out/"; for (String source : sources) { Runnable task = () -> { @@ -47,6 +47,7 @@ public class MediaSamuraiAPI { log.info("Started"); MediaSamuraiAPI api = new MediaSamuraiAPI("http://localhost:8181/"); BasicDBObject job = new BasicDBObject(); + job.put("profile", "hls"); job.put("source", source); job.put("target", target); job.put("frames", frames);