wowzamediasystems / wse-plugin-s3upload Goto Github PK
View Code? Open in Web Editor NEWWowza Streaming Engine™ module that uses the AWS Java SDK to automatically upload recorded media files to an Amazon S3 bucket.
License: Other
Wowza Streaming Engine™ module that uses the AWS Java SDK to automatically upload recorded media files to an Amazon S3 bucket.
License: Other
I have recently purchased the Wowza streaming engine, and I have created this with the AMS server-side and run through AES encryption. At the start, it starts working and after a few seconds this error message "Adobe Flash Player is having trouble, either install the latest version or, if I have the latest version, turn on Flash Player".
I verified latest Flash Player is installed on my PC
I am using Window 10
when I contact Wowza and describe this problem
says it's an Adobe problem.
What to do? Any suggestions?
kindly visit this and tell me any solution
https://www.tvnewslivestream.com/
I'm using this plugin (Build 50) with Wowza Streaming Engine 4.7.5 and it seems to be logging a warning incorrectly:
ModuleS3Upload.onAppStart: [whale_videorecording/_definst_] bucket region doesn't match configured region. (b:c)[us-east-1:null]
Both my EC2 instance and my S3 Bucket are configured to be in US East. I am using the s3UploadUseDefaultRegion
option, which is enabled by default. The only setting I am using is the s3UploadBucketName
option.
When I use ModuleS3Upload on Wowza 4.7.6, with AWS Java SDK 1.11.495, it throws this exception in the log :
ModuleS3Upload.onAppStart [javitest/definst] exception: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.: com.amazonaws.SdkClientException: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.|at com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:462)|at com.amazonaws.client.builder.AwsClientBuilder.configureMutableProperties(AwsClientBuilder.java:424)|at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)|at com.wowza.wms.plugin.s3upload.ModuleS3Upload.onAppStart(ModuleS3Upload.java:495)|at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
We need know if this module is fully supported with other S3 compatible services (not Amazon itself). If it's the case, how is the procedure to define the region, and configure an enviroment to replace the region. Thanks.
Would it be possible to specify endpoints so that S3 compatible object storage can be supported?
For example, object storage like Linode.
https://www.linode.com/docs/products/storage/object-storage/guides/urls/
When streaming a stream "myStream", this gets recorded as myStream.mp4 and uploaded to S3.
When file uploading to S3 bucket, in local FS creating file myStream.mp4.upload, but after uploaded to S3, myStream.mp4 not deleting from local FS.
Properties s3UploadDeleteOriginalFiles and s3UploadDeletOriginalFiles set to TRUE )))
I am running the latest version of wowza streaming engine (4.8.10). When I do not include the module, then I am able to stream to the server using gocoder app, but as soon as I add the module configuration described in https://www.wowza.com/docs/how-to-upload-recorded-media-to-an-amazon-s3-bucket-modules3upload then gocoder no longer can stream.
Logs WITHOUT module loaded:
==> wowzastreamingengine_access.log <== 2021-02-24 10:33:36 UTC comment server INFO 200 - REST API: Restart Application: Application (live) shutdown - - - 396.937 - - - - -- - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:58 UTC comment server INFO 200 - MediaCasterStreamValidator.init[live/_definst_]: Started _defaultVHost_ - - 419.353 - - - -- - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:58 UTC comment server INFO 200 - ModuleCoreSecurity.onAppStart[live/_definst_]: Publish: AllowedEncoders: securityPublishValidEncoders:Wirecast/|FME/|FMLE/|Wowza GoCoder*|Lavf/|UA Teradek/|KulaByte/|HaivisionKB/|VidBlaster/|XSplit/|PESA|makitoX/|Elemental Live/ _defaultVHost_ - - 419.411 - - - - - - - -- - - - - - - - - - - - - - - - - 2021-02-24 10:33:58 UTC comment server INFO 200 - ModuleCoreSecurity.onAppStart[live/_definst_]: Publish: block duplicate stream names : false _defaultVHost_ - - 419.411 - - - - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:58 UTC comment server INFO 200 - ModuleCoreSecurity.onAppStart[live/_definst_]: Play: SecureConnection: securityPlayRequireSecureConnection:false _defaultVHost_ - - 419.412 - - - - - - - - - - - - - - - - - - - - - -- - - 2021-02-24 10:33:58 UTC comment server INFO 200 - ModuleCoreSecurity.onAppStart[live/_definst_]: Play: securitySecureTokenVersion property is missing, using SecureToken Version 1, play security enabled for RTMP only _defaultVHost_ - - 419.414 - - - - - - - - - - - - - - - -- - - - - - - - - 2021-02-24 10:33:58 UTC app-start application INFO 200 _definst_ live/_definst_ _defaultVHost_ live _definst_ 419.428 - - - - - -- - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:58 UTC connect-pending session INFO 100 169.0.95.162 - _defaultVHost_ live _definst_ 0.266 [any] 1935 wowz://34.242.118.172:1935/live 169.0.95.162 wowz WowzaTransportSDK Wowza GoCoder SDK/1.0 477362478 3317 3073 - - - - - - - - - - - - - wowz://34.242.118.172:1935/live - 2021-02-24 10:33:58 UTC connect session INFO 200 169.0.95.162 - _defaultVHost_ live _definst_ 0.267 [any] 1935 wowz://34.242.118.172:1935/live 169.0.95.162wowz WowzaTransportSDK Wowza GoCoder SDK/1.0 477362478 3317 3073 - - - - - - - - - - - - - wowz://34.242.118.172:1935/live - 2021-02-24 10:33:58 UTC create stream INFO 200 - - _defaultVHost_ live _definst_ 0.0 [any] 1935 wowz://34.242.118.172:1935/live 169.0.95.162 wowzWowzaTransportSDK Wowza GoCoder SDK/1.0 477362478 3399 3344 1 0 0 0 - - - - - - wowz://34.242.118.172:1935/live wowz://34.242.118.172:1935/live - wowz://34.242.118.172:1935/live - 2021-02-24 10:33:58 UTC publish stream INFO 200 channel1 - _defaultVHost_ live _definst_ 0.171 [any] 1935 wowz://34.242.118.172:1935/live 169.0.95.162wowz WowzaTransportSDK Wowza GoCoder SDK/1.0 477362478 3440 3383 1 0 0 0 channel1 - - - - - wowz://34.242.118.172:1935/live/channel1 wowz://34.242.118.172:1935/live/channel1 - wowz://34.242.118.172:1935/live - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveReceiver.init[live/_definst_/channel1]: sortPackets:false flushInterval:75 onFlushNotifyClients:false sendSetDataFrame:false sendUpdatedOnMetaData:false audioLag:0 videoLag:0 _defaultVHost_ live _definst_ 420.541 - - - - - - - - - - - - - -- - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - MediaStreamMap.getLiveStreamPacketizer[live/_definst_/channel1]: Create live stream packetizer: mpegdashstreamingpacketizer:channel1 - - - 420.544 - - - - - - - - - - - - - - - - - - - - -- - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - MediaStreamMap.getLiveStreamPacketizer[live/_definst_/channel1]: Create live stream packetizer: smoothstreamingpacketizer:channel1 - - - 420.545 - - - - - - - - - - - - - - - - - - - - - -- - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerPacketHandler.startStream[live/_definst_/channel1][a/v] - - - 420.546 - - -- - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerSanJose.init[live/_definst_/channel1]: chunkDurationTarget: 10000 - - - 420.546 - -- - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.startStream[live/_definst_/channel1] - - - 420.546 - - -- - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerSanJose.init[live/_definst_/channel1]: chunkDurationTolerance: 500 - - - 420.549 - -- - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerSanJose.init[live/_definst_/channel1]: playlistChunkCount:4 - - - 420.549 - - -- - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - MediaStreamMap.getLiveStreamPacketizer[live/_definst_/channel1]: Create live stream packetizer: sanjosestreamingpacketizer:channel1 - - - 420.55 - - - - - - - - - - - - - - - - - - - - - -- - - 2021-02-24 10:33:59 UTC comment server INFO 200 - SanJosePacketHandler.startStream[live/_definst_/channel1] - - - 420.55 - - - - -- - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerSanJose.handlePacket[live/_definst_/channel1]: Video codec: H264 - - - 420.551 - -- - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerCupertino.init[live/_definst_/channel1]: chunkDurationTarget: 10000 - - - 420.551 - -- - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerCupertino.init[live/_definst_/channel1]: audioGroupCount: 3 - - - 420.555 - - -- - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerSanJose.handlePacket[live/_definst_/channel1]: Audio codec: AAC - - - 420.555 - -- - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerCupertino.init[live/_definst_/channel1]: playlistChunkCount:3 - - - 420.555 - -- - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - MediaStreamMap.getLiveStreamPacketizer[live/_definst_/channel1]: Create live stream packetizer: cupertinostreamingpacketizer:channel1 - - - 420.556 - - - - - - - - - - - - - - - - - - - - -- - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - CupertinoPacketHandler.startStream[live/_definst_/channel1] - - - 420.556 - - - - -- - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerCupertino.handlePacket[live/_definst_/channel1]: Video codec:H264 isCompatible:true - - - 420.557 - - - - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerCupertino.handlePacket[live/_definst_/channel1]: Audio codec:AAC isCompatible:true - - - 420.557 - - - - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerCupertino.handlePacket[live/_definst_/channel1][avc1.420016]: H.264 Video info: {H264CodecConfigInfo: codec:H264, profile:Baseline, level:2.2, frameSize:640x480, displaySize:640x480} - - - 420.558 - - - - - - - - - - - - -- - - - - - - - - - - - 2021-02-24 10:33:59 UTC comment server INFO 200 - LiveStreamPacketizerCupertino.handlePacket[live/_definst_/channel1][mp4a.40.2]: AAC Audio info: {AACFrame: codec:AAC, channels:2, frequency:44100, samplesPerFrame:1024, objectType:LC} - - - 420.864 - - - - - - - - - - - - - - -- - - - - - - - - - 2021-02-24 10:34:00 UTC comment server INFO 200 - LiveStreamPacketizerPacketHandler.handlePacket[live/_definst_/channel1][a/v]: Video codec:H264 isCompatible:true - -- 421.156 - - - - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:34:00 UTC comment server INFO 200 - LiveStreamPacketizerPacketHandler.handlePacket[live/_definst_/channel1][a/v]: Audio codec:AAC isCompatible:true - - -421.157 - - - - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:34:00 UTC comment server INFO 200 - LiveStreamPacketizerPacketHandler.handlePacket[[live/_definst_/channel1][a/v]][mp4a.40.2]: AAC Audio info: {AACFrame: codec:AAC, channels:2, frequency:44100, samplesPerFrame:1024, objectType:LC} - - - 421.158 - - - - - - - - - - - - - -- - - - - - - - - - - 2021-02-24 10:34:00 UTC comment server INFO 200 - LiveStreamPacketizerPacketHandler.handlePacket[[live/_definst_/channel1][a/v]][avc1.420016|avc1.66.22]: H.264 Video info: {H264CodecConfigInfo: codec:H264, profile:Baseline, level:2.2, frameSize:640x480, displaySize:640x480} - - - 421.159 - - - - - - - - - -- - - - - - - - - - - - - - - 2021-02-24 10:34:02 UTC comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.handlePacket[live/_definst_/channel1]: Fragment durations: [0.9,1.0,1.0] - - -423.511 - - - - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:34:02 UTC comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.flushPendingVideo: Bitrate[live/_definst_/channel1]: 1011350 - - - 423.512 - - - - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:34:02 UTC comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[live/_definst_/channel1]: Add chunk: type:video id:0 count:30 duration:999 -- - 423.513 - - - - - - - - - - - - - - - - - - - - - - - -- 2021-02-24 10:34:03 UTC comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[live/_definst_/channel1]: Add chunk: type:video id:1 count:30 duration:1000-- - 424.52 - - - - - - - - - - - - - - - - - - - - - - - -- 2021-02-24 10:34:04 UTC comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[live/_definst_/channel1]: Add chunk: type:video id:2 count:30 duration:1000-- - 425.5 - - - - - - - - - - - - - - - - - - - - - - - -- 2021-02-24 10:34:05 UTC comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.flushPendingAudio: Bitrate[live/_definst_/channel1]: 65108 - - - 426.807 - - - - - - - - - - - - - - - - - - - - - - - - - 2021-02-24 10:34:05 UTC comment server INFO 200 - LiveStreamPacketizerSmoothStreaming.addFragment[live/_definst_/channel1]: Add chunk: type:audio id:0 count:87 duration:2020-- - 426.809 - - - - - - - - - - - - - - - - - - - - - - - -- 2021-02-24 10:34:05 UTC unpublish stream INFO 200 channel1 - _defaultVHost_ live _definst_ 7.241 [any] 1935 wowz://34.242.118.172:1935/live 169.0.95.162 wowz WowzaTransportSDK Wowza GoCoder SDK/1.0 477362478 773558 3521 1 0 775472 0 channel1 - - - - - wowz://34.242.118.172:1935/live/channel1 wowz://34.242.118.172:1935/live/channel1 - wowz://34.242.118.172:1935/live - 2021-02-24 10:34:05 UTC destroy stream INFO 200 channel1 - _defaultVHost_ live _definst_ 7.246 [any] 1935 wowz://34.242.118.172:1935/live 169.0.95.162wowz WowzaTransportSDK Wowza GoCoder SDK/1.0 477362478 773558 3521 1 0 775472 0 channel1 - - - - - wowz://34.242.118.172:1935/live/channel1 wowz://34.242.118.172:1935/live/channel1 - wowz://34.242.118.172:1935/live - 2021-02-24 10:34:05 UTC disconnect session INFO 200 477362478 - _defaultVHost_ live _definst_ 7.701 [any] 1935 wowz://34.242.118.172:1935/live 169.0.95.162 wowz WowzaTransportSDK Wowza GoCoder SDK/1.0 477362478 773558 3521 - - - - - - - - - - - - - wowz://34.242.118.172:1935/live -
Logs WITH module loaded when restarting:
2021-02-24 10:34:41 UTC app-stop application INFO 200 _definst_ live/_definst_ _defaultVHost_ live _definst_ 462.321 - - - - - -- - - - - - - - - - - - - - - - - - - 2021-02-24 10:34:41 UTC comment server INFO 200 - REST API: Restart Application: Application (live) shutdown - - - 462.327 - - - - -- - - - - - - - - - - - - - - - - - - - 2021-02-24 10:34:46 UTC comment server INFO 200 - MediaStreamMap.removeLiveStreamPacketizer[live/_definst_/channel1]: Destroy live stream packetizer: cupertinostreamingpacketizer - - - 466.997 - - - - - - - - - - - - - - - - - - - - - -- - - 2021-02-24 10:34:46 UTC comment server INFO 200 - MediaStreamMap.removeLiveStreamPacketizer[live/_definst_/channel1]: Destroy live stream packetizer: smoothstreamingpacketizer - - - 466.997 - - - - - - - - - - - - - - - - - - - - - -- - - 2021-02-24 10:34:46 UTC comment server INFO 200 - MediaStreamMap.removeLiveStreamPacketizer[live/_definst_/channel1]: Destroy live stream packetizer: mpegdashstreamingpacketizer - - - 466.997 - - - - - - - - - - - - - - - - - - - - - -- - - 2021-02-24 10:34:46 UTC comment server INFO 200 - MediaStreamMap.removeLiveStreamPacketizer[live/_definst_/channel1]: Destroy live stream packetizer: sanjosestreamingpacketizer - - - 466.997 - - - - - - - - - - - - - - - - - - - - - -- - -
Please tell me what is going wrong
Thanks
It would improve security if we could use this plugin without having to put the AWS access key and secret key in the Application.xml
. Amazon Web Services has a feature that uses roles to gain access based on the EC2 instance it is running on.
Stackoverflow post with example java code:
https://stackoverflow.com/questions/44062813/aws-s3-upload-without-access-and-secret-key-in-java
I tried removing the access key and secret key from my configuration, but the plugin checks for this and did not try to upload.
Hi
I need to use a for s3UploadFilePrefix
To have something like
<Property>
<Name>s3UploadFilePrefix</Name>
<Value>${com.wowza.wms.context.Application}</Value>
</Property>
However variables is not supported. Is there any way to achieve this?
When streaming a stream "myStream", this gets recorded as myStream.mp4 and uploaded to S3. When a new stream with the same name gets recorded, it is recorded as myStream.mp4, and the original is moved to myStream_0.mp4 locally, but the original file on S3 is overwritten with the new stream. Would it be possible to rename the file on S3 as well to myStream_0.mp4 before uploading the new myStream.mp4 file to S3? To basically do the same on S3 as you do locally on the server.
I've set the configuration option s3UploadDelay in an effort to be more resilient to network issues. I'd like to allow recovering a stream if its within 2 minutes of the ending. When I test this out however, I see the _0, _1, etc.. recordings on the wowza server but when the delay is up, only the non-versioned entry is copied into s3. Am I doing this wrong? or is this not how it was intended to work?
When writing to an S3 bucket in a different account, it would be good to be able to set a canned ACL on the uploaded object: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
Perhaps through the use of a parameter - s3UploadCannedACL=bucket-owner-full-control (for example)?
Thanks!
Hi, you need add to readme file about additional libs that need to be added to wowza lib.
After adding this libs this module works
http://central.maven.org/maven2/com/amazonaws/aws-java-sdk-kms/1.10.77/aws-java-sdk-kms-1.10.77.jar
http://central.maven.org/maven2/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
http://central.maven.org/maven2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar
http://central.maven.org/maven2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.jar
http://central.maven.org/maven2/org/apache/httpcomponents/httpcore/4.3.3/httpcore-4.3.3.jar
http://central.maven.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-cbor/2.5.3/jackson-dataformat-cbor-2.5.3.jar
http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.5.0/jackson-annotations-2.5.0.jar
http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.5.3/jackson-databind-2.5.3.jar
http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.5.3/jackson-core-2.5.3.jar
May be some of them already in wowza lib.
WARN server comment 2018-06-13 09:05:07 - - - - - 87.101 - - - - - - - - ModuleS3Upload.WriteListener.onWriteComplete Cannot upload file because S3 Transfer Manager isn't loaded: [live/definst/openlab.stream.mp4]
My Wowza Stream Engine PAID is on AWS version is 4.7.5.
OS:Windows
AWS SDK: aws-java-sdk-1.11.346 and 1.10.77 have tried
Media file prefix:C:\Program Files (x86)\Wowza Media Systems\Wowza Streaming Engine\content
Hi,
Thanks for sharing this plugin and its source code. I'm writing plugin for processing recordings too
Do you think that it is possible to take different route and use ILiveStreamRecordManagerActionNotify
and onStopRecord
method instead of IMediaWriterActionNotify
?
In my subclass of ILiveStreamRecordManagerActionNotify
in onStopRecord
I want to spawn external process like:
p = Runtime.getRuntime().exec(processor);
p.waitFor();
Do you think that this can block some important thread or it is OK to do this in this place?
Sorry if my questions are rather basic and somewhat related to my a bit lacking Java skills ;-)
P.S.
Of course I'm going to open source my plugin as well...
java.net.SocketException: Socket closed on larger recording files, typically over 1.7G
at java.net.SocketInputStream.read(SocketInputStream.java:203)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139)
at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155)
at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:284)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165)
at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272)
at com.amazonaws.http.protocol.SdkHttpRequestExecutor.doReceiveResponse(SdkHttpRequestExecutor.java:82)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
at com.amazonaws.http.apache.client.impl.SdkHttpClient.execute(SdkHttpClient.java:72)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:787)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:630)
at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:405)
at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:367)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:318)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3785)
at com.amazonaws.services.s3.AmazonS3Client.doUploadPart(AmazonS3Client.java:2857)
at com.amazonaws.services.s3.AmazonS3Client.uploadPart(AmazonS3Client.java:2842)
at com.amazonaws.services.s3.transfer.internal.UploadPartCallable.call(UploadPartCallable.java:33)
at com.amazonaws.services.s3.transfer.internal.UploadPartCallable.call(UploadPartCallable.java:23)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)```
I'm getting a 403 forbidden error downloading the plugin:
https://www.wowza.com/downloads/forums/collection/wse-plugin-s3upload.zip
Forbidden
You don't have permission to access /downloads/forums/collection/wse-plugin-s3upload.zip on this server.
Apache Server at www.wowza.com Port 443
On line ModuleS3Upload.java#410 you check to make sure the bucket exists. You should use s3client.doesBucketExist()
instead which will allow you to only require ListBucket permission on the specific bucket instead of a more encompassing unnecessary permission of ListAllMyBuckets. It will also simplify the code and remove the need for a loop.
When resuming multipart upload, the following error occurs. Target is using minio.
com.amazonaws.services.s3.model.AmazonS3Exception: The specified multipart upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchUpload; Request ID: 3L137; S3 Extended Request ID: 3L137), S3 Extended Request ID: 3L137
Hi
We have a Hitachi Machine which is managed with the Amazon (AWS SDK) APIs over .NET application. Our machine is 100% compatible with AWS protocol, but that machine is in a private hosting (it’s not Amazon Cloud), then I can’t connect with the ‘region’ properties of the S3Upload plugin.
Reviewing the source code, I have seen that property S3UploadEndpoint could establish a direct connection (endpoint), this is the way we do to connect from the AWS APIs over .Net in this environment, and it’s working 100%. I think this functionality isn't fully implemented on the source because the source is more oriented to work with connection over the Amazon Cloud sites.
I would like to know if you will be able to develop this functionality, because my java skills are limited.
Thanks, Regards.
Use case: I don't want to open full permissions to the S3 bucket(s) which Wowza would have permissions to upload to, what is the minimal set of permissions required to allow uploads to a S3 bucket?
Best,
Tit
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.