imoreapps / ffmpeg-avplayer-for-ios-tvos Goto Github PK
View Code? Open in Web Editor NEWA tiny but powerful iOS and Apple TV OS av player framework that's based on the FFmpeg library.
License: GNU Lesser General Public License v3.0
A tiny but powerful iOS and Apple TV OS av player framework that's based on the FFmpeg library.
License: GNU Lesser General Public License v3.0
I used to get a thumbnail using this code:
let mp: FFAVParser = FFAVParser()
if mp.open(fileName) {
thumbnail = mp.thumbnail(atTime: Double(fminf(20, Float(mp.duration)) / 2.0))
mp = nil
}
Now I tried this but openMedia comes back false, so thumbnail is nil (never assigned to)
let mp: FFAVParser = FFAVParser()
if (mp.openMedia(URL(string:fileName)!, withOptions: nil)) {
thumbnail = mp.thumbnail(atTime: Double(fminf(20, Float(mp.duration)) / 2.0))
}
what am I doing wrong?
URLs are cut at 256 chars when calling openMedia
I could verify this in my Apache access log.
Is there a way to use it to play live ts streams?
Hi Guys,
I'm using this lib for streaming video through rtsp. But then I getting this error:
[h264 @ 0x18a68000] error while decoding MB 13 12
[h264 @ 0x18a68000] P sub_mb_type 5 out of range at 1 14
[h264 @ 0x18a68000] error while decoding MB 1 14`
Could you guys help me find what was the cause?
Thanks
ld: warning: ignoring file /Users/Sebastian/Downloads/ffmpeg-avplayer-for-ios-master/libs/AVPlayerTouch.framework/AVPlayerTouch, file was built for unsupported file format ( 0x76 0x65 0x72 0x73 0x69 0x6F 0x6E 0x20 0x68 0x74 0x74 0x70 0x73 0x3A 0x2F 0x2F ) which is not the architecture being linked (arm64): /Users/Sebastian/Downloads/ffmpeg-avplayer-for-ios-master/libs/AVPlayerTouch.framework/AVPlayerTouch
Undefined symbols for architecture arm64:
"_AVOptionNameAVProbeSize", referenced from:
-[PlayerViewController viewDidLoad] in PlayerViewController.o
"_AVOptionNameAVAnalyzeduration", referenced from:
-[PlayerViewController viewDidLoad] in PlayerViewController.o
"_AVOptionNameHttpUserAgent", referenced from:
-[PlayerViewController viewDidLoad] in PlayerViewController.o
"OBJC_CLASS$_FFAVPlayerController", referenced from:
objc-class-ref in MovieInfosViewController.o
objc-class-ref in PlayerViewController.o
"_AVOptionNameAVFormatName", referenced from:
-[PlayerViewController viewDidLoad] in PlayerViewController.o
"OBJC_CLASS$_AVPLicense", referenced from:
objc-class-ref in AppDelegate.o
"OBJC_CLASS$_FFAVParser", referenced from:
objc-class-ref in MovieInfosViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
能发布AVPlayerTouch的源码吗?
It would be great to have access to the subtitle view, in order to move it, e.g. when the video controls appears so that the controls don't block the subtitle view.
I have compiled project and got issue on mpeg2ts stream files:
Could you help me to implement support for RAW TS stream ?
Here are 2 sample files:
http://sendfile.es/pokaz/560365---89rs.html
http://sendfile.es/pokaz/560366---d4yy.html
Both files should be able to play. Only Audio is working on it.
i want to change video quality like 360p, 480p, 720p while video is playing, is it possible to change?
if yes than can you suggest me how can i achieve that?
the api in the framework only supports set videoAspectRatio for the video;
but there are too many different size of videos, so can we obtain the video origin size by the frameworks.
Is the demo license expired ? Not streaming in my development app.
Hi,
We're a team interested in using ffmpeg-avplayer-for-ios as the viewing client for our app. We'll be using the RTMP iOS player.
A requirement we need is the ability to extract timed metadata that is sent on the publisher side. I didn't see anything obvious when scanning through, is that supported for your RTMP player?
Thanks
When playing an RTMP stream, it starts out live, but gradually loses pace, about 2-3 seconds every minute.
I used this videoplayer to play two rtsp streams, but one is "rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp", and it goes well; the other is "rtsp://m2.0427.com:554/pjxwzhtv", and it doesn't go well. When I run it, it shows me some information, following:
[rtsp @ 0x137867600] method SETUP failed: 454 Session Not Found
2015-11-19 10:33:03.650 AVPlayerDemo[367:86595] SETUP OPENGL SUCCESSFULLY!!!
[rtsp @ 0x137867600] method SETUP failed: 454 Session Not Found
[rtsp @ 0x137867600] method SETUP failed: 454 Session Not Found.
I don't know what's wrong with it. Can anybody help me?
Hi,
We are unable to Play our RSTP (Live Streaming) URL in the player.
Our URL is like :- rtsp://x.y.z.a:1111/stream2
Any Help will be appreciated
What features from these source code i can use in my application?
Which portion of this source code come under dolby license?
Even if these streams are correctly visible with 16:9 format in other IPTV clients (i.e. VLC, m3u player, etc) here are shown in 4:3. How can I solve this problem?
Hello, i have library for playing 360 degree video, using standard AVPlayer and AVPlayerItemVideoOutput, and have code like this:
- (CVPixelBufferRef)getCurrentFramePicture
{
CMTime currentTime = [self.videoOutput itemTimeForHostTime:CACurrentMediaTime()];
[self.delegate progressTimeChanged:currentTime];
if (![self.videoOutput hasNewPixelBufferForItemTime:currentTime]) {
return 0;
}
CVPixelBufferRef buffer = [self.videoOutput copyPixelBufferForItemTime:currentTime itemTimeForDisplay:NULL];
return buffer;
}
but standard AVPlayer can not play some formats of videos :( I want to try this library, but cant see way to get frame for my texture. Is any? Thank you.
Hi,
I am trying to run this library in xcode 7.3 but it gives me error.
Undefined symbols for architecture x86_64:
"_clock_gettime", referenced from:
_av_gettime_relative in libavutil.a(time.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Please help me.
Thanks,
Ekta
The seeking doesn't work sometimes, especially in the first and last 10 seconds of the video.
It would be okay if the seeking takes a little bit more time but at least seeks to the specified time.
Would be great if you could fix this. Thank you!
Forgive me if this is mentioned elsewhere, but I did not see any mention of it in the README. In the AppDelegate I notice this line:
[AVPLicense register:@"Phx7B6TjRVQHo7j8IiEWVHz7viL0t0WvVlZHv53Zw+lQlpM2czk2pHCUzXa0CnRlF80ozlggFNW/3Fh1JZR7h0b+g5MHn6jsx6t9dAbYlS8P4QRia7KpwGRddKTiFEx9abQakrk+8FXa4oRaoboG689pf288iWa6kBGsq/W72gIUXaHqkLAbZ4ljFaeGyWBhc9jV3l46D97vrqT6CG7Lxg=="];
Can you elaborate on what this is? The library does not appear to function without it. I would like to use the AVPlayerTouch.framework
and build a video player UI around it for tvOS. However if the licensing around this framework is subject to change or one day this key may just stop working, I probably won't bother.
Hi,
I am using your library since ago. After update i got below error:
ld: cannot link directly with /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/usr/lib/system/libdyld.dylib. Link against the umbrella framework 'System.framework' instead. for architecture x86_64
I just copy a mp4 video to Documents directory and open, but i get the alert "Failed to load video!",
The video's thumbnail was loaded ok.
Can someone tell me how to get the text "DEMO VERSION" gone from the video?
In other issue someone talks about AVPLicense register but can't find anything where i can purchase.
Thanks.
It would be great if this framework could support Mac OS in addition to iOS and TV OS. Any plan to implement that?
Does the play support to capture video from stream (HLS) to MP4 on local device
我点击查看任何视频都是Failed to load video!自己把视频链接换了也不行,请问是什么原因。
but i can play the rtmp url on the vlc video
Use mp4 or mov files e,g from iTunes movies store.
Use seeking in iOS photos app and file hup 3.4
iOS photos app seeking is really smooth. Frame by frame!!
Thank you!
How to remove the interface of the watermark
Use this SDK because it support .rtmp,but also want to support .m3u8,it isn't support?
I build the app with tvOSAVPlayerTouch.framework on iPad mini and will get the error as below.
: "_AVOptionNameHttpHeader", referenced from:
: -[MediaViewController viewDidAppear:] in MediaViewController.o
: -[MediaViewController auth:finishedRefreshWithFetcher:error:] in MediaViewController.o
: "OBJC_CLASS$_NativeAVPlayerController", referenced from:
: Objc-class-ref in MediaViewController.o
: "OBJC_CLASS$_FFAVPlayerController", referenced from:
: Objc-class-ref in MediaViewController.o
: "OBJC_CLASS$_AVPLicense", referenced from:
: Objc-class-ref in AppDelegate.o
: Symbol(s) not found for architecture armv7
: Linker command failed with exit code 1 (use -v to see invocation)
Hello,
Thanks for great project. It's really interesting, and I want to say thanks to you for providing it.
I just want to ask few questions:
How can I cache the video data while playing ? I want to cache the video from a network url with the player
Currently, the internet protocol supported by ffmpeg-avplayer-for-ios is "tcp". How can we add support for udp?
If there is an option for Udp packet support, kindly suggest.
I have tried to run it but sometimes get this error:
Connection to tcp://52.28.8.222:8554?timeout=0 failed: Operation timed out
Here it mentions 'tcp'.
Hello, excuse me, I want to get the frequency of the video frequency, how can we get it?
I have been looking into cutting MPEG-TS file via ffmpegwrapper and my C is incredibly rusty also the FFmpeg documentation is very hard to understand. I was wondering if there is a straightforward way to save a section of a remote video using this library? If the library doesnt support it out of the box, do you have any pointers on how I can piggy back of off this and implement it?
The sample project works perfectly for iOS. but on tvOS, I don't get past to this error
Error Domain=com.imoreapps.avplayer.errordomain Code=-1499 "(null)" ffmpeg
This error message doesn't tell much. Am i missing something?
Thanks
Hi,
We're a team interested in using ffmpeg-avplayer-for-ios as the viewing client for our app. We'll be using the RTMP iOS player.
A requirement we need is the ability to stream 1080p resolution. Up to 720p resolution's streaming is running perfectly. But 1080p sucks the video. Is there any way to run 1080p.
We are testing on iPad Pro.
Thanks in advance.
ld: warning: ignoring file /Users/matteogobbi/Downloads/ffmpeg-avplayer-for-ios-tvos-master/tvOS/appletvsimulator/tvOSAVPlayerTouch.framework/tvOSAVPlayerTouch, file was built for x86_64 which is not the architecture being linked (arm64): /Users/matteogobbi/Downloads/ffmpeg-avplayer-for-ios-tvos-master/tvOS/appletvsimulator/tvOSAVPlayerTouch.framework/tvOSAVPlayerTouch
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_AVPLicense", referenced from:
objc-class-ref in AppDelegate.o
"_AVOptionNameAVFormatName", referenced from:
-[PlayerViewController viewDidLoad] in PlayerViewController.o
"_OBJC_CLASS_$_FFAVPlayerController", referenced from:
objc-class-ref in PlayerViewController.o
"_AVOptionNameAVAnalyzeduration", referenced from:
-[PlayerViewController viewDidLoad] in PlayerViewController.o
"_AVOptionNameHttpUserAgent", referenced from:
-[PlayerViewController viewDidLoad] in PlayerViewController.o
"_AVOptionNameAVProbeSize", referenced from:
-[PlayerViewController viewDidLoad] in PlayerViewController.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
When I click on the audio button, it locks up.
This happens when I am playing a hls stream wich has several (2) audio channels and 2 subtitles.
I don't see a license anywhere; what is the license?
Since the frameworks are probably the things that actually interface with FFmpeg, where are the sources for those?
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.