wowza streaming engine vod application, request querystring "=" is encoded - urlencode

I am using Wowza Server.
If you make a request to Wowza as shown below, playback fails because "=" is being recorded in the Playlist in an encoded state.
configuration is
Wowza -> Google Cloud CDN (Signed URL)
I am trying to configure as above.
Playback continues to fail because "=" is encoded at the end of the Query string in the Signed URL.
curl -v http://3.38.201.165:1935/vod/_definst_/mp4:sample.mp4/playlist.m3u8?aaa=adf=
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=868638,CODECS="avc1.42c015,mp4a.40.2",RESOLUTION=512x288
chunklist_w1245704381.m3u8?aaa=adf%3D
Anyone have a solution?

Related

JMeter File Upload - Raw contents

I have a very peculiar scenario where the raw data of the file has to be sent. I have tried following options and still wasn't successful.
Http Request with form-data disabled but still its sending as multi-part which is not acceptable by the system
Sending the file contents in request body by following methods . They were successful however the file uploaded was encoded in some format so the MD5 hash of the original file and uploaded file doesn't match. Hence the uploaded file looked different from original
FileToString Method
Reading the file using HTTP request . Capturing the response and passing to the body of File upload request
Using Https Raw data . Since its https request, it cannot be used.
All possible encoding formats available but nothing worked as the application just expects the raw data without any encoding.
You're supposed to provide an example successful request and the file you're uploading, it can be captured using a sniffer tool like Wireshark or Fiddler, only this way we'll be able to come up with the relevant JMeter configuration required to replicate the request.
In the mean time I can only suggest trying recording the request using JMeter's HTTP(S) Test Script Recorder
Start JMeter's HTTP(S) Test Script Recorder
Import JMeter's certificate into your browser (or system certificates storage if the upload is being performed by other application), see HTTPS recording and certificates chapter of JMeter's documentation on HTTP(S) Test Script Recorder
Copy the file you're going to upload to "bin" folder of your JMeter installation (or JMeter's current working directory if you're launching it from a desktop shortcut or whatever), see Recording File Uploads with JMeter for more details
Perform the upload in the browser (or other application)
JMeter should intercept the request and generate proper HTTP Request sampler and HTTP Header Manager

How I can get the image from URL in Smalltalk?

I have some URL string, how I can get the image from URL? I'm using VisualWorks 9.2
(URI fromString: yourString) readStream will produce a stream to read the data from.
You can also use HttpClient get: url.
You may want to load the TLS plugin parcel in oder to support https.

Understanding HLS implementation?

User will upload the videos from browser which need to be stored on server and playback. First understanding from google suggest I need to go for HTTP live streaming(HLS) here.
But I am not sure how it works internally ?
There are three components in above workflow i.e. client/server/data store for saving and retrieving videos.
Save flow :
I believe I need to plugin the HLS client for sending the streaming data.
Does Client in itself divide the file into chunks while sending and maintain the chaining of these chunk where each chunks points to next one ? something like this as I believe server is dumb and will work in same fashion as http upload functionality and no other intelligence is required here ?
But not sure how HLS server side component works here i.e. Will it save as single file or single file is split in to multiple files and then saved on disk ?
I believe it store the file as single file like regular http upload file ?
Retrieval part
In normal regular http file download, client asks for file data and server sends the response back in chunks but all response chunks are sent back against the same request.
I believe in case of HLS , its pull based where client initiate the pull request for each stream request. In each chunk pull request client gets the file name of next chunk and send the request to serverthe relevant chunk from single file for each poll request etc ? So for server its kind of regular http file download request and all intelligence lies with client
Save flow: When you upload a video, it must be converted into HLS format. You can use FFMPEG to do that. You'll end up creating manifest files, and all the segments of the video.
Retrieval part:
The player will read the manifest file to know which segments to request. I've written a post on how HLS playback works with the manifest files: https://api.video/blog/video-trends/what-is-hls-video-streaming-and-how-does-it-work

Stream video with videojs

I use videojs and hls to stream video. The .m3u8 loading is found but I have this error. Anyone know how to fix this?
Mixed Content: The page at 'https://domain/course/9/154' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://domain/public/storage/course_154_9/lesson_55/enc.key'. This request has been blocked; the content must be served over HTTPS.
Thank you very much
As the error states, the browser is blocking an http URL because the page is https. The http URL is http://domain/public/storage/course_154_9/lesson_55/enc.key which looks like an AES key which will be listed inside the m3u8 playlists of your HLS stream. You need to make sure your HLS contains only https URLs.

Twilio - Play audio file stored on S3

I'm trying to play an audio file using the <Play> verb, but Twilio is making a POST request to retrieve it instead of a GET, and S3 doesn't accept it.
The file is this one
And here's the request and the response on Twilio's console.
Any ideas on how to make this work? Thanks!
My mistake, the issue was on the conference waitUrl, which I fixed by specifying the waitMethod.