I'm trying to self hosted videos with nginx using nginx-rtmp-module (VOD) similar to youtube.
I successfully hosted videos by using ffmpeg to convert mp4 file to dash chunks.
I want my site can
upload video
Containerized golang app save file to local
run ffmpeg script to convert to dash chunks
How can I handle the third step ?
Is there a better way to make a VOD self hosted service ?
I run /usr/bin/ffmpeg but output not found
That is because the executable ffmpeg mounted from the host would depend on dynamic libraries either not present in the Docker image, or not at the right version (see ldd or lddtree for analysis)
It is better to build a dedicated image with the right tools installed in it rather than relying on the host content for program execution.
Related
I am actually relatively new to docker and wanted to build a home server for files, I use windows 10, and Docker Desktop for deploying containers.
whenever I store my files on nextcloud I do not see them on my HDD. Rather they are in an image(as far as I know), so I wanted a solution to make all the files appear on my hard drive rather than an image because then I can also use my computer as a rendering server, to render videos and games.
I am trying to setup a single docker that can stream local file as rtsp to a port.
Meaning, within the docker there will be some local videos publish as rtsp to a port of that docker.
Then externally, I can fetch the stream from rtsp://:/mystream
I tried looking into rtsp-simple-server, but it does not seem to have the option of local file streaming, rather it requires first set up a docker server then using ffmpeg to publish video to that server.
Is there a way to achieve the wanted single docker RTSP stream server?
There is another response of building a docker with VLC installed, however it seem to be bulky and overkill, plus the outcome does not seem to be as smooth.
Hi,
Most RTSP Servers works like you descripe you have a server instance and publish then a stream to them.
Its not hard to build a own RTSP server with gstreamer and python here is a link ,look at the answer, the did exactly what u need.
good start a for a new program project =)
I am a beginner with Docker and I have been searching for 2 days now and I do not understand which would be a better solution.
I have a docker container on a Ubuntu server. I need to copy many large video files to the Ubuntu host via FTP. Docker via cron will process the videos using ffmpeg and save the result to the Ubuntu host somehow so the files are accessible via FTP.
What is the best solution:
create a bind drive - I understand the host may change files in the bind drive
create a volume but I do not understand how may I add files to the volume
create a folder on the Ubuntu and have a cron that will copy using "docker cp" command and after a video has been processed to copy it to the host?
Thank you in advance.
Bind-mounting a host directory for this is probably the best approach, for exactly the reasons you lay out: both the host and container can directly read and write to it, but the host can't easily write to a named volume. docker cp is tricky, you note the problem of knowing when the process is completed, and anyone who can run any docker command at all can pretty trivially root the host; you don't want to give this permission to something network-facing.
If you're designing a larger-scale system, you also might consider an approach where no files are actually shared at all. The upload server sends the files (maybe via HTTP POST) to an internal storage service, then posts a message to a message queue (maybe RabbitMQ). That then retrieves the files from the storage service, does its work, uploads the result, and posts a response message. The big advantages of this approach are being able to run it on multiple systems, easily being able to scale the individual components of it, and not needing to worry about filesystem permissions. But, it's a much more involved design.
I'm tryint to run some scripts of DeepLearning in Matlab in a docker container in a DGX and I would like also to have access to my Google Drive from the container. I did this in python enviroment by using Gshell package, how ever i cant find the way to install it in Matlab enviroment (docker). Is it any way similar to Gshell or g
Gdown for liking my google drive to my Matlab docker container? I would like to do file exchanging (huge amount of images) from one to another. If not, how can I do files exchanging with my local PC (I'm using MacOS)?
I've got a java program where user can upload photos etc. It is running on docker container in Linux. I can have a plenty of containers and I don't want to pay many licenses to Mcafee, so is there a good solution for executing uvscan on host machine and scan uploaded files and buy only one license instead of 30?
I don't know if it's the best practice but you can mount all your photos folder and scan on the host.
One way is to mount files to host directory and perform scan.
There is a blog which explains scanning malicious files, but it uses Linux Malware Detection (LMD) and CalmAV, go through if it helpful
https://www.linkedin.com/pulse/virus-malware-scanning-service-docker-dietrich-rordorf