I am working on ffmpeg live streaming, where in i need to encrypt Live Streams. I am trying to figure out the same. I worked with AES, but it works only on a stored file. Can I use https or rtmpe etc by using private keys, SSL certificates etc? Anybody who is working on the same, kindly share your thoughts.
Eg : I am streaming my live cam feed using
ffmpeg -f video4linux2 -i /dev/video0 http://localhost:8090/feed1.ffm
I want to take stream1 as Input and Encrypt it continuously. And at the other end I want to decrypt and Play.
Related
I'm wondering if its possible to stream audio in Red5 from files stored in Azure? I am aware of how to manipulate the playback path via a custom file name generator IStreamFilenameGenerator, our legacy Red5 webapp uses it. It would seem to me though that this path needs to be on the local red5 server, is this correct?
I studied the example showing how to use Amazon S3 for file persistence and playback (https://goo.gl/7IIP28) and while the file recording + upload makes perfect sense, I'm just not seeing how the playback file name that is returned is streaming from S3. Tracing the StringBuilder appends/inserts, it looks like the filename is going to end up to be something like {BucketLocation}/{SessionID}/{FileKey} ... this lead me to believe that bucket.getLocation() on Line 111 was returning an HTTP/S endpoint URL, and Red5 would somehow be able to use it. I wrote a console app to test what bucket.getLocation() returned, and it only returns null for US servers, and EU for Europe. So, I'm not even sure where/how this accesses S3 for direct playback. Am I missing something?
Again, my goal is to access files stored in Azure, but I figured the above Amazon S3 example would have given me a hint.
I totally understand that you cannot record directly to Azure or S3, the store locally + upload makes sense. What I am failing to see is how to stream directly from a blob cloud storage. If anyone has suggestions, I would greatly appreciate it.
Have you tried using Azure Media Services? I believe looking at their documentation will be a good start for your scenario.
I have customer that have a envivio encoder. Today they push live HLS streams to Akamai.
Now the they want to try to push the stream to us. Buw wat kind of webserver do I need and how do I config the server to save the push stream to webb-storage.
I believe that your encoder (as well as many others) is using HTTP PUT to publish the video. Apache web server can do the trick easily.
if you need help enabling the HTTP PUT functionality in Apach -, try
How to enable and use HTTP PUT and DELETE with Apache2 and PHP?
I am interested in running a daemon to go over user uploaded video files and encode them in an optimal format (and add some watermarks).
I was considering services such as Zencoder, Encoding.com, Amazon's encoding service but some lack overlaying capabilities and some are just too expensive for our (big) volumes.
I want to build a daemon that encodes videos that are located on S3 once users upload them.
The solution I thought of would be Python Heroku servers using Celery for a task queue to keep track of the encoded files and ffmpeg to do the actual work. However, I ran into troubles compiling ffmpeg for Heroku (with libass support, so the basic ffmpeg bins aren't enough).
What approach/technology stack would you consider for this mini-project?
Thanks!
Yuval
Have you tried ffencoderd, is a basic perl daemon using ffmpeg, it accepts encoding jobs through a soap interface or locally creating files in an xml format under a server's directory. It enables a multimedia repository through an http server.
Hope helps,
(By the way i am the dev, :P , but serious, just tried to help)
What I am trying to achieve is to have Apache's mod_proxy_balancer check if a request was already made using a Memcache store.
Basically:
Streaming media request comes in.
Check if streaming media has already been served with Memcache.
If so, can that streaming media server handle another request.
If so send request to said streaming media server.
If not send request to the next streaming media server in line.
Store key:value pair in Memcache.
My questions are:
Does mod_proxy_balancer already do this in some way?
Is there anyway to make Apache a content-aware load balancer?
Any other suggestions would be greatly appreciated too, other software, other approach, etc.
Cheers.
Looking at 'mod_proxy_balancer.c'; one could, as suggested in the comments in the file, add additional lbmethods. Something along the lines of "bymemcached_t" or "bymemcached_r" where the t and r endings denote the "bytraffic" and "byrequests" methods respectively. We would do our pseudo code above and if not found proceed to the other methods and save the result in the memcached store.
In my research I came across HAProxy which does exactly what I want from its documentation using the balance algorithm option of 'uri' just not using Memcached. Which is fine for my purposes.
I am using dozens of different web services, and I keep a password file in a remote Linux machine. The file contains my usernames, passwords and answers for security question.
This server happens to be offline to often, and I'm looking for a way to keep the password file on my own computer, or on a service like DropBox. Obviously, I want to keep the file encrypted, but handy - I want to be able to print its contents using one shell (or cygwin) command, perhaps using a passphrase.
Any good ideas how to do it?
You can use GPG's symmetric option to encrypt files with pass-phrases.
gpg --symmetric filename
That will result in an encrypted file named filename.gpg. To redirect the output to STDOUT instead of a .gpg file:
gpg --symmetric -o - filename
You can later decrypt the file with:
gpg --decrypt filename.gpg
I use PasswordSafe encrypted files in exactly this configuration. GUIs are available for Windows/Mac/Unix/Java. cliPSafe gives it a command line interface.
THe original code was written by Bruce Schneier, well known in the security world, but I've never used cliPSafe.
As already noted GPG solves the problem. Using the gpg command directly for encrypting text files may be a bit cumbersome though, especially as you would often decrypt the file to a seperate file, add some text (passwords in this case) and the reencrypt it (which will possibly expose your unencrypted data).
Vim has a very good plugin called gnupg for trasparently handling encrypted files using GPG. Using this plugin the unencrypted data will never be written to disc and you can just treat it as any other file (except for the passphrase question popping up of course).