I want to realize a player on iOS in order to play encrypted hls streams. For now I can only play normal hls streams with the pipeline of uridecodebin or hlsdemux. But when I play an encrypted stream, I always get error message : "Could not determine type of stream".
I have checked on the internet but haven't found anything helpful. I found this message is from hlsdemux.c, but I cannot find it in iPhone.sdk. I use the version 1.6.4 with dev environnement Xcode 7.3 and iOS 9.3.1. I really hope someone could help me. Thanks a lot.
After asked those guys of gstreamer, for the time being, there is only two solutions for my problem.
modify the source code of gstsouphttpsrc.c, like the default value of ssl-strict
use a certificate signed by CA instead of a certificate self-signed
I tried the second solution, now it works.
Related
I've recently run into a issue with taking video on new iPhones(8 and up) written in Xamarin. When capturing the video video on older devices the codec is H.264, but on new devices Apple has switch to H.265. These videos are played in browser and pretty much everything I've checked doesn't support H.265.
Since you can change in the setting of the device between (high efficiency-H.265 and most compatiable-H.264), I figured you can do this programmatically. I haven't been able to find any information on how to do this if at all. Any help would be appreciated.
You can set the codec on a AVCaptureVideoDataOutput, which you add to your Session, through WeakVideoSettings which is just a dictionary of settings.
You can find the keys in the official apple docs: https://developer.apple.com/documentation/avfoundation/avassetwriterinput/video_settings_dictionaries
VLC cant play certain youtube videos. Currently using VLC 2.2.4 (Windowsx86). Got this error.
Your input can't be opened:
VLC is unable to open the MRL 'https://r14---sn-h557sn7r.googlevideo.com/videoplayback?lmt=1471880577481320&expire=1482936160&dur=280.427&ipbits=0&source=youtube&upn=58F0u2i73fk&itag=22&ei=AHtjWOrzM8-WoAOd9o-4DA&pl=24&ms=au&mv=m&sparams=dur%2Cei%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&mt=1482914235&ip=113.193.159.186&id=o-AL9tx8jmG_NTqQbv41Elnu6WvKiF6KO6-BQ6e9Ti_luh&mn=sn-h557sn7r&mm=31&key=yt6&mime=video%2Fmp4&nh=IgpwcjAyLm1hYTAzKgwxMjEuMjQwLjEuNDU&initcwndbps=246250&requiressl=yes&ratebypass=yes&signature=7C168CF624B8FD3E2D1F80948154BEA9A30E4C412.C96A6C26B874AC2472A068E0022E4BE33BD8AA29'. Check the log for details.
Debug logs
Any help ?
This happened something due to https certificates. Mine was windows machine and restarting solved the problem. But if someone expert in vlc check the logs and provide the root cause would be very helpful.
I'm trying to gain access to a live stream through the RTSP protocol on iOS. I'm trying to run the example from this website: http://www.gdcl.co.uk/2013/02/20/iOS-Video-Encoding.html and it's advertised that you can just take the url (rtsp://) and paste it into quicktime player, VLC or some other means, but whenever I try it fails. When I try in quicktime player it gives me this error: The document “Macintosh HD” could not be opened. The file may be damaged or may not be a movie file that is compatible with QuickTime Player.
What am I doing wrong? Is the example broken or do I need to update some specs in the code. I'm running iOS 9.3 and it's told to work > 7.0.
I was able to play this back on VLC when compiling and running on my iOS device. You need to ensure that you are on WiFi (vs LTE or 3G). I'm on iOS 9.2.1 and played back with VLC version 2.2.2.
You can then take it a step further as I was successful in ingesting it into Wowza via Stream file with the following configuration:
{
uri : "rtsp://[rtsp-address-as-published-on-the-app]",
streamTimeout:12000,
reconnectWaitTime:12000,
rtpTransportMode:"udp",
rtspValidationFrequency:15000,
rtspFilterUnknownTracks:true,
rtspStreamAudioTrack:false,
rtspStreamVideoTrack:true,
rtpDebugSession:true,
rtspSessionTimeout:12000,
rtspConnectionTimeout:12000
}
I would suggest reviewing what the console logs say in your iOS application (xcode) and then also take a look at your VLC error messages/logs as well to see what the exact issue is when you try to playback.
So this is something I've been trying to get my head around when I was trying to load one of my older apps.
There's a lot of threads where people are asking for the supported audio formats in iOS. And in most of them someone comments that support for AMR (Adaptive-Multi-Rate) was dropped in iOS 4.3. How do they know this?
Supported Audio file formats in iPhone
But I cannot find ANY api changes or anything about this in Apples official documentations.
i.e the diffs between 4.2 and 4.3:
https://developer.apple.com/library/ios/releasenotes/General/iOS43APIDiffs/
How can I get som actual documents saying that this actually happened?
Any help here would be much appreciated!
The closest I ever found to a document or official statement were two responses (login required) by an Apple Employee on the old Apple Developer Forums, both saying:
As of 4.3 iOS does not support encoding or decoding AMR.
If you want AMR you'll have to put in your own decoder.
i am a beginner at IOS Development now i make app that streaming internet and there was a problem that there is extinction that ios not support like .asf and .rm and there prifx that ios not support too like mms:// so after a lot of searching a lot of people told me that "use ffmpeg" and after a lot of wasted time i successfully build ffmpeg to my xcode now i am stuck because i don't how i use it .
so could any one tell me how can i use it please don't tell me use IFrameExtrator because i tried and i failed.