MobileVLCKit fails while compiling
Asked Answered
C

1

10

I am trying to use MobileVLCKit for iOS in my application. I followed steps given @ Building the Framework for iOS. I have set deploymet target to iOS 7 in my Xcode 5.

I used command ./buildMobileVLCKit.sh -f -l to compile the shell file to get an iOS framework.

I got following errors on my terminal application.

The following build commands failed:
Libtool build/MobileVLCKit.build/Release-iphoneos/MobileVLCKit.build/Objects-normal/armv7/libMobileVLCKit.a normal armv7
Libtool build/MobileVLCKit.build/Release-iphoneos/MobileVLCKit.build/Objects-normal/armv7s/libMobileVLCKit.a normal armv7s
CreateUniversalBinary build/Release-iphoneos/libMobileVLCKit.a normal armv7\ armv7s    

I tried all ways got on google but it didn't work. After trying for whole day I am putting this question. Please help if you have used this before.

Creak answered 12/2, 2014 at 12:43 Comment(0)
C
19

Drop the -l argument. You really need to compile the underlying libvlc to achieve a full MobileVLCKit framework. Without libvlc, it's just a bunch of useless classes.

Alternatively, consider getting a precompiled version which can be just dropped in your project: http://nightlies.videolan.org/build/iOS/

Cogency answered 13/2, 2014 at 18:47 Comment(15)
Getting a precompiled version is really cool. I too searched for same but couldn't find it. Thanks a lot man.Creak
I downloaded the latest framework but it doesn't contain class VLCVideoView which is used in Basic usage in your application. How should I use it?Creak
Check the sample code for iOS provided in the VLCKit git repository. VLCVideoView is an OS X only class. The same code path is handled slightly different on iOS.Cogency
Excellent, great to hear that!Cogency
Thanks for your help. I am facing an issue while playing RTSP links. While playing the video audio starts before the pictures and I get the error 'Failed to resize the display' in log. Can you please suggest a solution?Creak
You can ignore the "Failed to resize the display" warning, since this is normal (you can't really adapt the output size on iOS the way you can on desktops). Regarding video starting later than the audio, this depends on the availability of full frames to be displayed. Usually, those are being send at a regular interval, so this depends on your RTSP until the first full frame is ready for display.Cogency
Thanks. I just found that VLC player is requesting for UDP connection first and then TCP. I need to avoid that and force it to stream over TCP. I found a flag --rtsp-tcp on searching. But how should I use it? I tried setting [objVlcplayer.media addOptions:[NSDictionary dictionaryWithObject:@"1" forKey:@"--rtsp-tcp"]] but that doesn't work.Sorry this may be basic but I am new to this framework and couldn't find much help at other places so have to come to you only.Creak
Most likely, this option is not supported by the VLCMedia object, but needs to be set globally on the VLCMediaPlayer object on its initialization.Cogency
Ok but no such function found available on VLCMediaPlayerCreak
Can you please specify such function which will force the player to play the stream over TCP? I got this function in VLCMedia class. Couldn't find anything in VLCMediaPlayer class :(Creak
You need to add this option to [[VLCMediaPlayer alloc] initWithOptions:@[…]] …Cogency
Thanks a lot! I will try this and let you know.Creak
Great to hear that :)Cogency
Now i can able to download the pre compiled version from this site nightlies.videolan.org/build/ios Can anyone please share that it is relay helpful for me thanks in advanceMannos
When I build for iOS real device I get same error Undefined symbols for architecture armv7: "_openat", referenced from: _vlc_openat in MobileVLCKit(lt4-filesystem.o) In emulator it works fine!!!Ichthyosis

© 2022 - 2024 — McMap. All rights reserved.