I'm working on a video stream type of APP in Flutter. I implemented the video streaming with better_player and the video itself is being hosted on AWS.
Everything working fine until I tried testing on an iOS device and it broke. I pinpointed the problem as being in the video's URL, since better_player wasn't being able to find the video. All the videos that didn't load had special characteres in their URL (Ç, Ã, Â, Á, À), which are very commom in portuguese, then the URL is encoded as an URI, but the m3u8 file still references the non-encoded .ts URLs and iOS seem to not parse these automatically.
As you can see the highlighted words all have a ú character, and it just breaks everything, thus making iOS/Safari not being able to retrieve the video.
Does anyone have any insight about it?
Can I solve it inside Flutter or do I have to change all my URLs (I would prefer not doing it)?
Possible duplicate of this, but it doesn't have any answers so I thought of asking again.
I tried encoding the stream URL into a URI friendly format, iOS still can't load it.
I was trying to play a live stream with AVPlayer. And I somewhat succeeded. My question is, if I play an URL that ends with m3u8 I can, however, when I try a link that doesn't (see example below) I can't! Same behavior when I try to open them with Safari, but on VLC, they both work. Why is that? Unsupported codec?
Examples:
This works: https://fluxustv.blogspot.com#bit.ly/fluxusfish?.m3u8
This doesn't: http://www.tvworldfree.ga:3000/p002/p158156/2219
The link without “m3u8” is a raw transport stream. AVPlayer does not support that format without a manifest.
I want to know details how Mobicent Media server plays audio using URL? In which method it's streaming using URL. For local storage I'm understanding but for remote storage(URL) I'm not getting how it's working. I didn't find anything in the user guide or in website. It will be very helpful if you please inform me details or suggest me any web link.
Thanks.
In order for the Media Server to play a file you need to send a Play signal, where you specify the URL of the file to be played. If the file is local then the URL format will be file://path_to_file/filename.wav; otherwise if the file is hosted remotely then the URL format will be http://something/filename.wav.
Upon receiving the Play request, the Media Server will ask the underlying AudioPlayer to process the URL, first guaranteeing that it is not malformed and that the file type is supported: .wav, .gsm, .tone, .mov, .mp4, .3gp. If all is fine, the player will open a stream to the file right away.
Finally, the AudioPlayer is activated so it can start processing the file and transmitting audio to the remote peer.
You can find a fully detailed discussion about this topic in the mobicents public forum as well (including links to github code):
https://groups.google.com/d/msg/mobicents-public/4zuUOM3zHsM/fQM6o80JEXwJ
Let me know if this helps.
Regards.
There are some sites on internet where they use VideoJs player to play videos from youtube. when you look at their source code it is shows something like this.
https://r1---sn-npo7enel.c.docs.google.com/videoplayback?expire=1412784736&ipbits=0&upn=nGmhLDiNQ9k&signature=9B6BA94D1BEF02870C22D4E941C48DC4E783C32A.BC6F3F47F563FC8E4FC98C374A7B5DD662E58304&itag=5&sver=3&id=o-AK3QyGdV8rMOYUPM8hXx6ac8f3WXvn8DZRbkvPtPruBi&mv=m&initcwndbps=16152500&source=youtube&sparams=id%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmm%2Cms%2Cmv%2Csource%2Cupn%2Cexpire&ms=au&key=yt5&ip=128.199.133.159&mm=31&fexp=907257%2C916941%2C924630%2C924637%2C927622%2C930666%2C931983%2C932404%2C934030%2C944312%2C946013%2C946509%2C947209%2C948703%2C952302%2C953801&mt=1412763072
Im sure its not a google drive video. its youtube video but they are playing it from docs.google.com instead of googlevideos.com. How are they getting this link?
can anybody help me with that. I need this for some reason.
It is very easy. Just replace the googlevideo.com in the youtube download url to c.docs.google.com
Thank you for asking this question. I know this after searching sometime.
YOUTUBE DOWNLOAD URL:
http://r2---sn-h557snee.googlevideo.com/videoplayback?sver=3&expire=1413317317&mv=m&mt=1413295596&ms=au&id=o-AFQYWPcu_Mgj7ApyBmoMopG3mkbxQgKxFOa3It4kBoSm&mm=31&source=youtube&initcwndbps=1216250&mime=video/mp4&ip=27.251.66.2&fexp=3300013,3300112,3300134,3300137,3300164,3310366,3310708,3312224,907257,916941,927622,930666,931983,932404,934030,936118,936222,946013,947209,952302,953801,953903&itag=18&sparams=id,initcwndbps,ip,ipbits,itag,mime,mm,ms,mv,ratebypass,source,upn,expire&signature=49C37B73B3253F473F15AF6F8292D1628B63194C.7B10B7E983B7F4288933EBB0E821C84169653F0C&ratebypass=yes&ipbits=0&key=yt5&upn=KW7cc7l_RHs&title=Aaranya%20Kaandam
CONVERTED URL
http://r2---sn-h557snee.c.docs.google.com/videoplayback?sver=3&expire=1413317317&mv=m&mt=1413295596&ms=au&id=o-AFQYWPcu_Mgj7ApyBmoMopG3mkbxQgKxFOa3It4kBoSm&mm=31&source=youtube&initcwndbps=1216250&mime=video/mp4&ip=27.251.66.2&fexp=3300013,3300112,3300134,3300137,3300164,3310366,3310708,3312224,907257,916941,927622,930666,931983,932404,934030,936118,936222,946013,947209,952302,953801,953903&itag=18&sparams=id,initcwndbps,ip,ipbits,itag,mime,mm,ms,mv,ratebypass,source,upn,expire&signature=49C37B73B3253F473F15AF6F8292D1628B63194C.7B10B7E983B7F4288933EBB0E821C84169653F0C&ratebypass=yes&ipbits=0&key=yt5&upn=KW7cc7l_RHs&title=Aaranya%20Kaandam
i have an swf media player
which play flv videos
but i want it to play youtube videos
so i must pass to the player flv file path
the senario is a website which i can upload videos or put a url
and i can put a youtube video URL
i am using asp.net
and i need a solution
whenever i detect a user is entering youtube video
i must convert it to flv file path to be played in the player
This post explains how to retrieve links of different qualities (FLV and more): youtube get_video not working
However, if you're just going to play the videos, it would be easiest to use Youtube's chromeless player API: http://code.google.com/apis/youtube/flash_api_reference.html
You can use a current web service which is already implemented for your project
Use www.keepvid.com to decode the url from YouTube. First go to YouTube and load a video then you copy the url in the address bar and it should show something like this:
http://chi-v48.chi.youtube.com/get_video?video_id=TvedUxLtZKQ
One thing left to do is to add .flv to the end of the url so it ends up like this:
http://chi-v48.chi.youtube.com/get_video?video_id=TvedUxLtZKQ.flv