RTMP Shared Object - actionscript-3

There are a simple way of using RTMP shared object in 2018? A framework, simple app etc. I'm reversing a old flash game, but can't find a RTMP server with shared object support.
RED5 is over complicated.

Related

AS3 - Flash to AIR - ExternalInterface

I have a flash project that I am trying to convert to Adobe AIR to be compatible with steam. The flash project uses ExternalInterface calls into Javascript that embeds the swf that are essential to the app (PHP logins, Facebook interactions, etc).
What are my options for getting around a lack of ExternalInterface when using Adobe AIR?
You need to re-implement all this features (login, social network integration) without ExternalInterface. I think, you need to use Steam API for much part of this.

Display RTSP stream in Adobe AIR

I am working on a project that involves displaying video feed from an IP camera using Adobe AIR. I know that Flash does not have a native support of RTSP protocol and therefore I am evaluating all possible routes I can take to solve this issue:
Use Adobe Media Server to convert incoming RTSP stream to RTMP and then use Flash API (NetConnection & NetStream) directly.
Write a custom class to fetch, decode and display the stream in adobe AIR. [I am unable to confirm if this is possible due to insufficient info on the net]
Give up on RTSP and instead fetch JPEG/MJPEG sequence of images and display them in AIR relatively easily but with doubtful live performance. [due to JPEG/MJPEG refresh interval of IP camera and same interval separately in AIR]
Use DirectShow Video Source Filter for JPEG and M-JPEG IP Cameras to process the JPEG/MJPEG stream, create a virtual Webcam device (the filter does this automatically) and then use Camera class to display the video feed in AIR.
Use webcam 7 - A software designed to handle RTSP, JPEG/MJPEG and other stream protocols for many camera brands/models. It installs a driver in system that creates a virtual camera, and that all the other applications can then use as a normal webcam.
Unfortunately this software is buggy and often becomes unstable (could be with my particular camera model only though) and might even crash.
Are there any better, easier options that might not require any third-party software?
EDIT:
In case anybody else bumps into same problem:
As suggested by Rudolfs Bundulis, I decided to write a NativeProcess (ANE) that uses FFMPEG to fetch the RTSP stream data, transcode it, and feed it to Flash player.
You might want to look at these for more specific steps:
http://www.purplesquirrels.com.au/2013/02/converting-video-with-ffmpeg-and-adobe-air/
https://www.youtube.com/watch?v=6N7eN9wvAGQ
Take the route described in option 2 - write a Adobe AIR native extension (ANE) that uses FFMpeg to handle the RTSP stream, decode it and pass the RGB data back to AIR for rendering. The hardest part would be compiling FFmpeg if you need cross platform functionality, however, since you mention DirectShow that is Windows only, then I assume you are bound to Windows. Zeranoe provides prebuild FFmpeg libraries for Windows, Stackoverflow has a lot of topics on decoding a stream using FFmpeg and then all you need is a callback to AIR and you're good.

How to use RTMP for Video/Audio/Image capture?

On video/audio/image capture we using net connection like
nc.connect("rtmp://localhost/vmspeak");
Can anyone explain what is this and its use. In new project how to use?
You need the Adobe Flash Media Server (FMS).
The development edition is free (even for commercial usage) and allows 10 simultaneous connections.
RTMP stands for Real Time Messaging Protocol.
Real Time Messaging Protocol (RTMP) was initially a proprietary protocol developed by Macromedia for streaming audio, video and data over the Internet, between a Flash player and a server. Macromedia is now owned by Adobe, which has released an incomplete version of the specification of the protocol for public use.

How to customize stream protocol to flash client

I need to create a custom communication between server and flash client. For example I want to write UDP protocol using error correction. It is much faster than TCP and does not suffer from routing problem. Unfortunately I absolutely cannot think of how to replace the existing way:
_stream = new NetStream(_connection);
_video.attachNetStream(_stream);
This encloses all communication and I do not have a control over it. I understand that I can use appendBytes, but not sure what exactly to pass to this function. I can do anything on the server side. My video is H.264 and audio is ACC.
Unless it's a AIR application, you can't. It's native API which already handling application layer (OSI model).
If you want make your own, using flash.net.DatagramSocket class (available in AIR 2+) for your application layer and NetStream.appendBytes for audio/video stream decoding & playback (feeded with FLV/F4V chunks)
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/DatagramSocket.html
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#appendBytes%28%29
I was betting on UDP, but never got it working in Flash. I'll explain it:
In your browser, there is really no way to make usage of UDP!!! Flash applications there run in a sandbox, which only talk TCP!
Air is used for desktop applications, which after compilation run in a desktop wrapper, which itself has direct access to the socket and other possibilities.
That's it! You have to use TCP.

whats the difference between stratus and flash media server 4

I want to create a simple video chat application using rtmfp the new p2p feature. It's available in flash media server 4 and using stratus, I've only been able to find tutorials on stratus. So my question is if I want to use the p2p feature in flash media server 4 do I have to signup for stratus and use its api or does fms 4 have its own api?
What is your goal? If you need to make just a videochat, you can use FMS only, without stratus. Just connect to server, perform connection accept on serverside, and then you can use publish and play methods of NetStream class. But if you want to perform videochat through p2p, than you do not need FMS (because the main idea of p2p - communication without server), but still you can use FMS for managing clients, and perform video streaming through stratus.