wowza multiple files in one playlist - ffmpeg

Is it possible to create a stream in wowza from multiple files ? So these file would be played in a row after each other? As far as I know, I can only stream from one file being in the content directory..
1.) I would like to split that one file for my own reasons, to add some security to it etc... , and then to create the playlist from these multiple files and publish it for streaming.. so it won't take that much time comparing to the second way.
2.) Or do I need to put these multiple files back together and then publish the playlist?
I would also like to consider the time of the playlist being created even using a big file. I am using ffmpeg to split the file into smaller pieces using a script.
Therefore it would be automatic, when a user would request a stream, I run the script that splits the files and creates the playlist for user..
I hope I didn't take it from the wrong way. Help please

On wowza website you can download this module to create playlists on server side without concating your files.
You may also want to check com.wowza.wms.stream.publish.Stream class which enables to you create a Stream on server side and attach playlist items to it. And this post will help you get started on how to create dynamic playlists if you need it.

Related

Flutter web: Download large files by reading a stream from the server?

There are already several articles about starting downloads from flutter web.
I link this answer as example:
https://stackoverflow.com/a/64075629/15537341
The procedure is always similar: Request something from a server, maybe convert the body bytes to base64 and than use the AnchorElement to start the download.
It works perfectly for small files. Let's say, 30MB, no problem.
The whole file has to be loaded into the browser first, than the user starts the download.
What do to if the file is 10GB?
Is there a way to read a stream from the server and write a stream to the users download? Or is an other way preferable like to copy the file to a special folder that is directly hosted by the webserver?

How to download/get multiple objects from MinIO using a single call?

How can I download download/get multiple objects from MinIO using a single call of MinIO Java SDK.
In this case it is not possible to achieve this using a single call. you'll need to do the following:
First you'll need to list all the files in the selected bucket using the listObjects call, once you have this list you can filter the objects to check if the file/files that you want are included in the bucket.
Once you have all the valid files list, you can use the getObject call to actually get the information of the file, al this point you can use this data-stream to create a zip file with all the files that you require.
Completed this then you can start streaming this file to start the download.
Please remember that the MinIO team is available on their public slack channel or by email to answer questions 24/7/365.

Reading multiple files in a folder and parsing it and writing to another folder

I am new to spring batch. My requirement is, I have a folder say D:\xyzfolder\source which is having 25 flat files. Using spring batch I need to read and implement some business logic and write all 25 files with the same name into a different folder say D:\xyzfolder\destination
Currently, I am using MultiResourceItemReader and reading all the 25 files from the source folder and I am able to write into a single file using FlatFileItemWriter with setResource(outputResource) but my requirement is to write as 25 different files. Please suggest how to achieve the above requirement
For a similar use case this answer https://stackoverflow.com/a/20356050/4767829 suggests using a MultiResourceItemWriter in combination with an ItemWriteListener that dynamically sets the output resource for each item.

How could I watch the recorded live streams using wowza engine?

We wanted to let our clients review the live streams made. We checked the option ‘Record all live streams’ from the Wowza Engine Manager. We know that the streamings are being saved inside the wowza content folder but since our engine is located in a EC2 instance we could find no easy way for our clients to watch them but to download them through console.
Can the manager be configured to show the videos there like it is on Wowza Streaming Cloud?
in my case I set up a webserver(apache2) on the same machine listening on port 8080 (wowza uses 80 for hls streaming), then I set a symbolic link from /var/www/html/content to {Wowza installation Folder} /content this way the users can reach the recordings at http://youserver.com:8080/content
by default apache will list all files on the folder and if the file is .mp4 the browser will play the video, if file is .flv it will be downloaded
If it's an option for you, you can move your recordings to s3. You should first mount an s3 bucket in your filesystem (s3fs), then configure the module ModuleMediaWriterFileMover to move the recorded files to the mount dir.
A better approach:
Move the files to an S3 bucket as soon as they are ready.
Wowza actually has a module for this (of course it does, everybody needs it)
https://www.wowza.com/forums/content.php?813-How-to-upload-recorded-media-to-an-Amazon-S3-bucket-(ModuleS3Upload)
So, as you do with every other module,
1- include files in lib folder
2- go to the engine manager UI and add the module
3- set your keys and bucket in the manager properties
Restart and done. Works like a charm and no files are uploaded before they are ready.
Note: Be careful because unless you are naming each stream with a timestamp like I'm doing, amazon will overwrite the file when uploading one with the same name.

Update extension for multiple files at once on Amazon S3

I'm having about 1 million files on my S3 bucket and unfortunately these files were uploaded with wrong extension. I need to add a '.gz' extension to every file in that bucket.
I can manage do that by using aws cli:
aws s3 mv bucket_name/name_1 bucket_name/name_1.gz
This works fine but the script is running so slow since it moves the file one by one, in my calculation it'll take up to 1 week, which is not acceptable.
I wonder if we have any better and faster way to achieve this goal ?
You can try S3 Browser which supports multi thread calls.
http://s3browser.com/
I suspect other tools can do multi thread as well, but the CLI doesn't.
There's no renaming feature for S3 files/bucket so you need to move or copy/delete files. If the files are big, it can indeed be a bit slow.
However there's nothing that prevents you to wait for a request to complete to continue with "renaming" the next file in your list, just process it.

Resources