slavavdovichenko / medialibdemos3x Goto Github PK
View Code? Open in Web Editor NEWMediaLibiOS & Demos 3.x
MediaLibiOS & Demos 3.x
I get the following connection errors -
RTMPStreamPublisher[800:300117] RTMPClient -> eventFailed: code = -7, description = fault code = -1 < Input or/and Output Stream is not opened (-1) >, calls = 0
connectFailedEvent: -7 = fault code = -1 < Input or/and Output Stream is not opened (-1) >, [M]
Don't know where these errors are coming from.
I use your demo play RTMP audio stream,
My server is red5 with speex codec
Console only output :
RTMPStreamPlayer[2166:775667] ******************************************** connectControl: host = rtmp://18k.myqnapcloud.com/giantview/23/
------------------------------------------------------
rtmp_buffer=0
rtmp_conn=
-----------------------------------------------------
and no more outpot
Hi,
When trying to run Publisher demo on ios 6/ iPod app crashed.
Exception:
[AVCaptureFigVideoDevice activeVideoMinFrameDuration]: unrecognized selector sent to instance 0xc289550
Dec 26 17:54:35 iPod LiveInspection[1045] : *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AVCaptureFigVideoDevice activeVideoMinFrameDuration]: unrecognized selector sent to instance 0xc289550'
Hi,
I would like to invoke server methods using your RTMP Library. I used the method
[rtmpClientInstance invoke:withArgs: responder:].
However I could not see the method invoked on Adobe FMS Console.
Could you please help me with this?
Thanks.
Thank you so much for providing MediaLibDemo, here is a bug on the audio part which I want to talk with you and try to figure out the way to solve it. When I record my voice with the iphone, the voice message could play well, but when I record it with the browser on the computer, it can't play well. Here are our test addresses below, you could check it with the player in MediaLib.
hostTextField.text = @"rtmp://182.92.101.72:1935/TalkToWorld"
streamTextField.text = @"11444302290634"
I'm expecting for your reply very soon...
sincerely, Mr Kim
I think it's not too clear that the Media library and the communication library this repository uses are from the the Midnight coders. To acquire the license to use this library in conjunction with server technology other than WebORB requires special licensing fees. I think that should be made clear.
Hi. Is there a way to send authentication (user and password) data with this library?
Thanks.
hi, thanks for library, at me arises such mistake, you can prompt as it to solve?
Undefined symbols for architecture x86_64:
"OBJC_CLASS$_BroadcastStreamClient", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture x86_64
Hello,
I am extremely pleased with the product you developed. I have configured my ffserver and its running great. I have also tested it on local pc.
Now when i am trying to test it with ios app using your lib its throwing me
RTMPClient -> eventFailed: code = -7, description = fault code = -1 < Input or/and Output Stream is not opened (-1) >, calls = 0
$$$$$$ connectFailedEvent: -7 = fault code = -1 < Input or/and Output Stream is not opened (-1) >, [M]
such kind of error.
Can you please guid me out of this and help me in configuring your app with my server.
Your efforts will help me out in lot of ways
Thank, Regards
I changed following line
socket = [[RTMPClient alloc] init:hostTextField.text];
to
NSArray *params = [NSArray arrayWithObjects:@"stream_token=12345",nil];
socket = [[RTMPClient alloc] init:hostTextField.text andParams:params];
I expected that connecting with parameters, but it doesn't seem to reach the server.
I want to connect url like this.
rtmp://livelivelive.com/src?stream_token=12345
Thanks in advance.
I've a new issue : ERROR: [0x16e733000] 1233: AUIOClient_StartIO failed (-66637)
After several good stream, this error appear and the only choice is kill the app.
Any idea ?
Undefined symbols for architecture arm64:
"_SSL_get_error", referenced from:
_do_tls_poll in libavformat.a(tls.o)
"_SSL_write", referenced from:
_tls_write in libavformat.a(tls.o)
"_TLSv1_server_method", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_CTX_use_certificate_chain_file", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_CTX_use_PrivateKey_file", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_set_fd", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_ctrl", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_CTX_load_verify_locations", referenced from:
_tls_open in libavformat.a(tls.o)
"_ERR_get_error", referenced from:
_tls_open in libavformat.a(tls.o)
_do_tls_poll in libavformat.a(tls.o)
"_SSL_connect", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_CTX_new", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_free", referenced from:
_tls_open in libavformat.a(tls.o)
_tls_close in libavformat.a(tls.o)
"_SSL_CTX_free", referenced from:
_tls_open in libavformat.a(tls.o)
_tls_close in libavformat.a(tls.o)
"_RTMP_ConnectStream", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_SSL_load_error_strings", referenced from:
_ff_tls_init in libavformat.a(network.o)
"_SSL_read", referenced from:
_tls_read in libavformat.a(tls.o)
"_CRYPTO_get_locking_callback", referenced from:
_ff_tls_init in libavformat.a(network.o)
_ff_tls_deinit in libavformat.a(network.o)
"_SSL_library_init", referenced from:
_ff_tls_init in libavformat.a(network.o)
"_CRYPTO_num_locks", referenced from:
_ff_tls_init in libavformat.a(network.o)
_ff_tls_deinit in libavformat.a(network.o)
"_CRYPTO_set_locking_callback", referenced from:
_ff_tls_init in libavformat.a(network.o)
_ff_tls_deinit in libavformat.a(network.o)
"_RTMP_Socket", referenced from:
_rtmp_get_file_handle in libavformat.a(librtmp.o)
"_RTMP_Close", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
_rtmp_close in libavformat.a(librtmp.o)
"_SSL_new", referenced from:
_tls_open in libavformat.a(tls.o)
"_RTMP_Pause", referenced from:
_rtmp_read_pause in libavformat.a(librtmp.o)
"_RTMP_LogSetCallback", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_RTMP_Init", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_SSL_accept", referenced from:
_tls_open in libavformat.a(tls.o)
"_RTMP_Write", referenced from:
_rtmp_write in libavformat.a(librtmp.o)
"_SSL_shutdown", referenced from:
_tls_close in libavformat.a(tls.o)
"_RTMP_Read", referenced from:
_rtmp_read in libavformat.a(librtmp.o)
"_SSL_CTX_set_verify", referenced from:
_tls_open in libavformat.a(tls.o)
"_RTMP_SetupURL", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_RTMP_SendSeek", referenced from:
_rtmp_read_seek in libavformat.a(librtmp.o)
"_TLSv1_client_method", referenced from:
_tls_open in libavformat.a(tls.o)
"_RTMP_EnableWrite", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_RTMP_LogSetLevel", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_ERR_error_string", referenced from:
_tls_open in libavformat.a(tls.o)
_do_tls_poll in libavformat.a(tls.o)
"_RTMP_Connect", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Hi, I run your example on my iphone (iOS 8.1), and broadcast a live video to my server (using Adobe Flash). It's broadcast ok, but when I playback using ffplay. I only get video stream, the audio stream not found or not parsed.
This is ffplay output:
Input #0, flv, from 'rtmp://<server_address>:1935/live/test99004':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: flv1, yuv420p, 352x288, 30 tbr, 1k tbn, 1k tbc
Stream #0:1: Data: none
178.93 M-V: -0.011 fd= 24 aq= 0KB vq= 0KB sq= 0B f=27/27
But when I stop broadcasting and download record file from server and open it, the audio can play. It's stil there but I don't understand why in live streaming, I can't see the audio.
Do I need to send metadata about audio codec, etc before broadcasting.
Thank you
Hi, i'm trying to run the MediaLibDemos.xcodeproj, but i'm getting the following warnings and errors:
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/libspeex-1.2rc1/lib/libspeex.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/libspeex-1.2rc1/lib/libspeex.a (3 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavdevice.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavdevice.a (3 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavutil.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavutil.a (3 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/MediaLibiOS/MediaLibiOS.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/MediaLibiOS/MediaLibiOS.a (2 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libswscale.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libswscale.a (3 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libswresample.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libswresample.a (3 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/libspeex-1.2rc1/lib/libspeexdsp.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/libspeex-1.2rc1/lib/libspeexdsp.a (3 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavformat.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavformat.a (3 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavfilter.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavfilter.a (3 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/libx264-r2409/lib/libx264.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/libx264-r2409/lib/libx264.a (3 slices)
ld: warning: ignoring file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavcodec.a, missing required architecture i386 in file /Users/samukbg/Downloads/MediaLibDemos/lib/ffmpeg-2.2.1/lib/libavcodec.a (3 slices)
Undefined symbols for architecture i386:
"OBJC_CLASS$_BroadcastStreamClient", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I've already added all libraries from the Readme file, and the following "Valid Architectures" in "Build Settings": "i386 armv6 armv7 armv7s".
Thanks in advance,
Sam.
Can we set orientation When Broadcast is running ?
Hi,
i use RTMPStreamPublisher to interact with my media server (Wowza + Amazone) and the result is good when i use the WebPlayer fo Wowza.
But when i use RTMPStreamPlayer on my iphone 6 (iOS 8.4) i got latency. It's not fluid.
I try with a very good network connection (fiber)
Any idea ?
Hi !
This library works on real device very well but I can't run it on iOS simulator.
Could you combine the '.a' files for both of simulator and real device?
And there is one more question. I think it might be a bug,
The audio of player side is poor.
I published a h264 video with aac,44100,mono audio to wowza server. Video and audio are played very well on test player of wowza and other RTMP players.
This player side library plays video very well but audio is poor. It sounds like a modulated voice. not noise. I think bitrate or samplerate is wrong.
Please review my opinion and reply me. Thanks. :)
Sorry for my poor english.
Hi,
I have got many people referenced to use this project for streaming live video to Wowza streaming server. I have Wowza streaming engine setup already. I downloaded this RTMP Streaming Xcode project and run on my iPhone. First screen is, where I need to provide rtmp address and some name. I gave rtmp server details where wowza running on my machine, rtmp://192.168.1.13:1935/live and name as slavav5 . When I click on Connect button, it showed me with this error, Receive: NetStream.Play.StreamNotFound
Could you correct me, what i'm doing wrong to fix this issue.
Thanks.
Noting that the old version of MediaLib had a method to change the audio bitrate of the stream, is there a way to modify the audio bitrate in this version of the library?
Thanks in advance :)
We have an issue where our video streams to Wowza successfully but exactly at 24 minutes after broadcasting the video stop and disconnect. We do not have any issue using javacv solution on android, so we figure it must be something in this lib that is causing it. Can you please give us any idea on what could be the problem. Thank you.
i want to show the camera preview before stream connect ,how should I do?
Hi There,
We would like to use this lib for longer period however we are getting licencing errors and when we are trying to contact your team using the contact us form we are not able to do so and further to that we are also not able to download the lib from the web site and when we download and use from github we get licensing errors.
Kindly guide us asap.
Thanks,
Nitesh
I just wanna make the previewLayer preview without starting the stream.
Hi,
Since the last keynot (with ios 9 beta), i have a several warning when i validate my app (the app references non-public selectors in payload : myproject/ addData).
The problems is in lib CommlibIOS.a who must use a selector with name "appData".
Another have the problems ?
Thx
Pierre
I am having a problem with the audio. I am not able to use MediaLibDemos3x in my app because it pops out an alertview which tells me to buy the license,so I switched to another library to publish a video to our wowza server.
I am sure that I am sending the audio as 44100 mhz and 1 audio channel.
When I try to play the stream audio is like a robot or something like that but when I try to play the stream with MPMediaPlayerViewController , audio is working perfectly but I have a latency because of the Apple HLS.
So is there a way to set the audio bitrate for MPMediaDecoder which is used in StreamPlayer?
All the best,
Irem
Hi,
Can I live stream the video (codec: H264) playing on ipad from an external source using MediaLibDemos3x?
After using [upstream setVideoMode:VIDEO_CUSTOM];
I know I have to use the sendFrame method, but can't figure out how to use it.
I was trying to replace camera view with a single picture, and maybe there is a simpler approach?
Hello, I am doing a project on Adobe Air, on building ANE file no mistakes occurs. On building IPA file, an error occurs: CPU_SUBTYPE_ARM_ALL subtype is deprecated, indicating a conflict architectures. Can you build a project just for architecture armv7? Thanks in advance.
I am able to publish the stream perfectly fine but not able to play the same stream.
Code:
decoder = [[MPMediaDecoder alloc] initWithView:streamView];
decoder.delegate = self;
decoder.isRealTime = YES;
decoder.orientation = UIImageOrientationUp;
NSString *name = [NSString stringWithFormat:@"%@/%@", host2, stream2];
[decoder setupStream:name];
Log :
RTMPStreamComeback[4004:1710031] MPMediaDecoder -> playing: try to open the stream rtmps://host:port/application/stream ...
RTMPStreamComeback[4004:1710031] MPMediaDecoder -> openStream: rtmps://host:port/application/stream
rtmp_buffer=0
rtmp_conn=
RTMPStreamComeback[4004:1710031] MPMediaDecoder -> (ERROR) avformat_open_input() : -1330794744 'Protocol not found'
RTMPStreamComeback[4004:1710031] MPMediaDecoder -> playing: stream is not opened, wait about 1 sec
How to set broadcast frame size
According to this: https://news.ycombinator.com/item?id=9682671
in the new xcode 7 Beta 3. All the libraries need to contain bitcode. Is there anything I can do with this project to enable it?
I'm trying to run the examples in iOS 9 with xcode 7 Beta 3.
Hi,
I have implemented the latest version 3.3.1, I wanted to ask about a problem I had, I already solved it but I think it's more like a work-around then a solution..
When playing a live stream from wowza server, the broadcast client is from a pc, using the basic demo that wowza giving to use => http://www.wowza.com/docredirect.php?doc=wowzaServerExamples_Latest
In the wowza server I'm also using the default settings (passthrough) for the stream.
However, the sound in the iOS app is playing too fast (the voice sounds like a chipmunk),
I found that in the flash .fla file of the broadcast the audio rate is set to value "11" for the microphone. in the iOS app log I can see it's decoded to 11025hz nelly mosser.
I played with the audio rate value and when setting it to "15" the sound was fine in the iOS app..
What do you think about the problem and the solution ?
Thanks
Tomer
Hi
Need to make changes in BroadcastStreamClient.m and VideoPlayer.m. Is there a way to get those sources?
Not able to access secureToken from RTMPClient connect response
-(void)doConnect {
NSString *url = @"rtmps://host:port/application";
if (socket)
[socket connect:url];
else {
socket = [[RTMPClient alloc] init:url];
socket.delegate = self;
[socket connect];
}
}
-(void)connectedEvent {
NSLog(@" $$$$$$ > connectedEvent\n");
}
-(void)disconnectedEvent {
NSLog(@" $$$$$$ > disconnectedEvent\n");
}
-(void)connectFailedEvent:(int)code description:(NSString *)description {
NSLog(@" $$$$$$ > connectFailedEvent: %d = '%@'\n", code, description);
}
-(void)resultReceived:(id )call {
int status = [call getStatus];
if (status != STATUS_PENDING)
return;
NSString *method = [call getServiceMethodName];
NSArray *args = [call getArguments];
int invokeId = [call getInvokeId];
id result = (args.count) ? [args objectAtIndex:0] : nil;
NSLog(@" $$$$$$ <IRTMPClientDelegate>> resultReceived <---- status=%d, invokeID=%d, method='%@' arguments=%@\n", status, invokeId, method, result);
}
Run Case 1 :
ServerInvoke[1554:419822] >>>>>>>>>>>>>>>> connect: url = ‘incorrect url’
ServerInvoke[1578:421822] Socket: 'host:port' will be CREATED, [self retainCount] = 1
ServerInvoke[1578:421822] RTMPClient -> startOnCurrentThread [M]
ServerInvoke[1578:421822] Socket use the options:
{
kCFStreamNetworkServiceType = kCFStreamNetworkServiceTypeBackground;
kCFStreamSSLAllowsAnyRoot = 1;
kCFStreamSSLAllowsExpiredCertificates = 0;
kCFStreamSSLAllowsExpiredRoots = 0;
kCFStreamSSLLevel = kCFStreamSocketSecurityLevelNegotiatedSSL;
kCFStreamSSLPeerName = "";
}
ServerInvoke[1578:421822] Socket OPENED! inputStatus: 1, outputStatus: 1 [M]
ServerInvoke[1578:421822] First Handshake -> wrote 1537 bytes
ServerInvoke[1578:421822] Receive Handshake -> read 3073 bytes, leader = 3
ServerInvoke[1578:421822] Second Handshake -> wrote 1536 bytes
ServerInvoke[1578:421822] RTMPClient -> receivedMessage: channelId = 2, dataType = 0x05, data.size = 4
ServerInvoke[1578:421822] >>>>>>>>>>>>>>>>>>> server bandwidth = 2500000
ServerInvoke[1578:421822] RTMPClient -> receivedMessage: channelId = 2, dataType = 0x06, data.size = 5
ServerInvoke[1578:421822] >>>>>>>>>>>>>>>>>>> client bandwidth = 2500000
ServerInvoke[1578:421822] RTMPClient -> receivedMessage: channelId = 2, dataType = 0x04, data.size = 6
ServerInvoke[1578:421822] <<<<<<<<<<<<<<<<<< ping event = 0
ServerInvoke[1578:421822] RTMPClient -> receivedMessage: channelId = 2, dataType = 0x01, data.size = 4
ServerInvoke[1578:421822] >>>>>>>>>>>>>>>>>>> setChunkSize = 512
ServerInvoke[1578:421822] RTMPClient -> receivedMessage: channelId = 3, dataType = 0x14, data.size = 203
ServerInvoke[1578:421822] RTMPClient -> onInvoke: call.serviceMethodName = _error <NSString ? YES>, call.arguments.count = 1
ServerInvoke[1578:421822] RTMPClient -> resultReceived: owners.count = 1
ServerInvoke[1578:421822] $$$$$$ > resultReceived <---- status=2, method='_error', arguments=1
ServerInvoke[1578:421822] RTMPClient -> receivedMessage: channelId = 3, dataType = 0x14, data.size = 18
ServerInvoke[1578:421822] RTMPClient -> onInvoke: call.serviceMethodName = close <NSString ? YES>, call.arguments.count = 0
ServerInvoke[1578:421822] RTMPClient -> resultReceived: owners.count = 1
ServerInvoke[1578:421822] $$$$$$ > resultReceived <---- status=2, method='close', arguments=0
Run Case 2 :
ServerInvoke[1554:419359] >>>>>>>>>>>>>>>> connect: url = ‘correct url’
ServerInvoke[1554:419359] Socket: 'host:port' will be CREATED, [self retainCount] = 1
ServerInvoke[1554:419359] RTMPClient -> startOnCurrentThread [M]
ServerInvoke[1554:419359] Socket use the options:
{
kCFStreamNetworkServiceType = kCFStreamNetworkServiceTypeBackground;
kCFStreamSSLAllowsAnyRoot = 1;
kCFStreamSSLAllowsExpiredCertificates = 0;
kCFStreamSSLAllowsExpiredRoots = 0;
kCFStreamSSLLevel = kCFStreamSocketSecurityLevelNegotiatedSSL;
kCFStreamSSLPeerName = "";
}
ServerInvoke[1554:419359] Socket OPENED! inputStatus: 1, outputStatus: 1 [M]
ServerInvoke[1554:419359] First Handshake -> wrote 1537 bytes
ServerInvoke[1554:419359] Receive Handshake -> read 3073 bytes, leader = 3
ServerInvoke[1554:419359] Second Handshake -> wrote 1536 bytes
ServerInvoke[1554:419359] RTMPClient -> receivedMessage: channelId = 2, dataType = 0x05, data.size = 4
ServerInvoke[1554:419359] >>>>>>>>>>>>>>>>>>> server bandwidth = 2500000
ServerInvoke[1554:419359] RTMPClient -> receivedMessage: channelId = 2, dataType = 0x06, data.size = 5
ServerInvoke[1554:419359] >>>>>>>>>>>>>>>>>>> client bandwidth = 2500000
ServerInvoke[1554:419359] RTMPClient -> receivedMessage: channelId = 2, dataType = 0x04, data.size = 6
ServerInvoke[1554:419359] <<<<<<<<<<<<<<<<<< ping event = 0
ServerInvoke[1554:419359] RTMPClient -> receivedMessage: channelId = 2, dataType = 0x01, data.size = 4
ServerInvoke[1554:419359] >>>>>>>>>>>>>>>>>>> setChunkSize = 4096
ServerInvoke[1554:419359] RTMPClient -> receivedMessage: channelId = 3, dataType = 0x14, data.size = 349
ServerInvoke[1554:419359] RTMPClient -> onInvoke: call.serviceMethodName = _result <NSString ? YES>, call.arguments.count = 1
ServerInvoke[1554:419359] RTMPClient -> onInvoke: call.arguments = (
{
clientid = someid;
code = "NetConnection.Connect.Success";
data = {
version = "3,5,7,7009";
};
description = "Connection succeeded.";
level = status;
objectEncoding = 0;
secureToken = somesecuretoken;
}
)
2015-04-24 12:05:30.084 ServerInvoke[1554:419359] $$$$$$ > connectedEvent
Blocker
On success connection to RTMP server we want to access the secureToken in response as mentioned in “Run Case 2” logs. The problem is we never get callback on resultReceived delegate method on success connection and looks like there is no way to access secureToken from connectedEvent delegate method. Please let us know how to access response from successful connection. Please also let us know if we are implementing it in wrong way or missing something.
Hi I tried to use toggle camera but it take around 5 sec. Is it normal or I need to fix some property on my side. I tested it on iOS 7-8 (device(iPhone)- 5, 5s, and 6).
I have app that should stream video from iPad app to iPhone app. It is 2 different applications.
We using Wowza streaming engine for it, at our backend.
I using custom mode, because I need to send live streamed video from iPad main screen.
But when I begin streaming video, there is annoying noise from iPad speaker. It happen only with production builds, but with development everything is ok. So I need to always generate .ipa file, for each test.
Thank you on advance for you help.
Undefined symbols for architecture arm64:
"_SSL_get_error", referenced from:
_do_tls_poll in libavformat.a(tls.o)
"_SSL_write", referenced from:
_tls_write in libavformat.a(tls.o)
"_TLSv1_server_method", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_CTX_use_certificate_chain_file", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_CTX_use_PrivateKey_file", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_set_fd", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_ctrl", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_CTX_load_verify_locations", referenced from:
_tls_open in libavformat.a(tls.o)
"_ERR_get_error", referenced from:
_tls_open in libavformat.a(tls.o)
_do_tls_poll in libavformat.a(tls.o)
"_SSL_connect", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_CTX_new", referenced from:
_tls_open in libavformat.a(tls.o)
"_SSL_free", referenced from:
_tls_open in libavformat.a(tls.o)
_tls_close in libavformat.a(tls.o)
"_SSL_CTX_free", referenced from:
_tls_open in libavformat.a(tls.o)
_tls_close in libavformat.a(tls.o)
"_RTMP_ConnectStream", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_SSL_load_error_strings", referenced from:
_ff_tls_init in libavformat.a(network.o)
"_SSL_read", referenced from:
_tls_read in libavformat.a(tls.o)
"_CRYPTO_get_locking_callback", referenced from:
_ff_tls_init in libavformat.a(network.o)
_ff_tls_deinit in libavformat.a(network.o)
"_SSL_library_init", referenced from:
_ff_tls_init in libavformat.a(network.o)
"_CRYPTO_num_locks", referenced from:
_ff_tls_init in libavformat.a(network.o)
_ff_tls_deinit in libavformat.a(network.o)
"_CRYPTO_set_locking_callback", referenced from:
_ff_tls_init in libavformat.a(network.o)
_ff_tls_deinit in libavformat.a(network.o)
"_RTMP_Socket", referenced from:
_rtmp_get_file_handle in libavformat.a(librtmp.o)
"_RTMP_Close", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
_rtmp_close in libavformat.a(librtmp.o)
"_SSL_new", referenced from:
_tls_open in libavformat.a(tls.o)
"_RTMP_Pause", referenced from:
_rtmp_read_pause in libavformat.a(librtmp.o)
"_RTMP_LogSetCallback", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_RTMP_Init", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_SSL_accept", referenced from:
_tls_open in libavformat.a(tls.o)
"_RTMP_Write", referenced from:
_rtmp_write in libavformat.a(librtmp.o)
"_SSL_shutdown", referenced from:
_tls_close in libavformat.a(tls.o)
"_RTMP_Read", referenced from:
_rtmp_read in libavformat.a(librtmp.o)
"_SSL_CTX_set_verify", referenced from:
_tls_open in libavformat.a(tls.o)
"_RTMP_SetupURL", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_RTMP_SendSeek", referenced from:
_rtmp_read_seek in libavformat.a(librtmp.o)
"_TLSv1_client_method", referenced from:
_tls_open in libavformat.a(tls.o)
"_RTMP_EnableWrite", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_RTMP_LogSetLevel", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
"_ERR_error_string", referenced from:
_tls_open in libavformat.a(tls.o)
_do_tls_poll in libavformat.a(tls.o)
"_RTMP_Connect", referenced from:
_rtmp_open in libavformat.a(librtmp.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
When my app is Landscape, I set the videoOrientation to BroadcastStreamClient. But it seems all wrong.
I was trying this library against my nginx-rtmp server but I'm having trouble with the audio.
I'm streaming from my mac os x using this command:
ffmpeg -f avfoundation -i "0:0" -strict experimental -c:a aac -b:a 240k -f flv rtmp://192.168.1.10/myapp/aaa
But once I put the RTMPStreamPlayer to work with this, the audio is too weird. Nothing of what I speak is understandable through it. Only hear loud noises.
I'm very new to Objective C and what I'm trying to do is to use a RTMP library for iOS that I can later convert to Xamarin iOS (already did to Android and not I need for iOS).
Am I'm missing something? Is there anything that I need to change on the code or on the command that I'm running?
duplicate symbol _ff_log2_tab in:
/Users/bla/Desktop/blaa 14:9:15/support/lib/libav-11.4/lib/libavutil.a(log2_tab.o)
/Users/bla/Desktop/blaa 14:9:15/support/lib/libav-11.4/lib/libavformat.a(log2_tab.o)
duplicate symbol _ff_log2_tab in:
/Users/bla/Desktop/blaa 14:9:15/support/lib/libav-11.4/lib/libavutil.a(log2_tab.o)
/Users/bla/Desktop/blaa 14:9:15/support/lib/libav-11.4/lib/libavcodec.a(log2_tab.o)
ld: 2 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Can you make another demo inside of this projected adapted to the Swift language? I'm having issues/confused on how to get started.
Thanks!
Is there a way to authenticate with a server (like Wowza, for example)? I'm not really sure how to do digest auth (or even basic, for that matter) using this library.
I'm not able to streaming video and audio. I'm getting this error: "Could not find suitable output format"
this are my logs:
Note: I added the .a and the required frameworks to "Link binary with libraries"
1969-12-31 20:25:02.-703 SelfieSurprise[407:14652] connectControl: host = rtmp://50.20.34.24:19/videochat/jackinthebox
1969-12-31 20:25:02.-679 SelfieSurprise[407:14652] BroadcastStreamClient -> videoFrameDuration -> device <AVCaptureFigVideoDevice: 0x183e2720 [Back Camera][com.apple.avfoundation.avcapturedevice.built-in_video:0]> [15-7]
1969-12-31 20:25:02.-678 SelfieSurprise[407:14652] BroadcastStreamClient -> videoFrameDuration -> device <AVCaptureFigVideoDevice: 0x18242b30 [Front Camera][com.apple.avfoundation.avcapturedevice.built-in_video:1]> [15-7]
1969-12-31 20:25:02.-676 SelfieSurprise[407:14652] BroadcastStreamClient STREAM ----> name: jackinthebox_test, type: 0, [socket retainCount] = 3
1969-12-31 20:25:02.-643 SelfieSurprise[407:14652] Video url string file:///private/var/mobile/Containers/Data/Application/FF72E39D-2126-4037-9BF6-4E9693F93EC2/tmp/41648_5_8920.mov
1969-12-31 20:25:02.-383 SelfieSurprise[407:16060] >>>>>>>>>>>>>>>>>>> setChunkSize = 4096
1969-12-31 20:25:05.-977 SelfieSurprise[407:14652] $$$$$$ stateChangedEvent: 1 = RTMP.Client.isConnected [M]
1969-12-31 20:25:05.-841 SelfieSurprise[407:14652] didStartRecordingToOutputFileAtURL
1969-12-31 20:25:05.-840 SelfieSurprise[407:16060] $$$$$$ stateChangedEvent: 2 = RTMP.Client.Stream.isCreated [T]
1969-12-31 20:25:05.-839 SelfieSurprise[407:16060] STREAM_CREATED
Could not find suitable output format
1969-12-31 20:25:05.-709 SelfieSurprise[407:16060] BroadcastStreamClient DISCONNECT ----> doDisconnect <2> -> [socket retainCount] = 6
1969-12-31 20:25:05.-706 SelfieSurprise[407:16060] RTMPClient -> disconnect: *** CAN NOT BE DISCONNECTED! *** <retainCount == 4
1969-12-31 20:25:05.-705 SelfieSurprise[407:16060] $$$$$$ stateChangedEvent: 0 = RTMP.Client.isDetached [T]
1969-12-31 20:25:05.-704 SelfieSurprise[407:16060] RTMPClient -> disconnect: *** DISCONNECT... *** <retainCount == 3
1969-12-31 20:25:05.-695 SelfieSurprise[407:16060] DEALLOC BroadcastStreamClient
1969-12-31 20:25:05.-694 SelfieSurprise[407:16060] BroadcastStreamClient DISCONNECT ----> doDisconnect <0> -> [socket retainCount] = 0
1969-12-31 20:25:05.-691 SelfieSurprise[407:16060] DEALLOC MPMediaEncoder
What is happening? it try to connect stream the it gets Disconnect from server suddenly.
Thanks.
Checked libavutil.a from latest version for slices with xcrun -sdk iphoneos lipo -info
command. Got armv7s armv7 arm64
. While old version (autumn 2013) returns armv7s armv7 i386
. So lack of i386 arch prevents running on simulator? Why there is no x86_64 or i386 slice in latest version?
ld: warning: ignoring file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavutil.a, missing required architecture x86_64 in file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavutil.a (3 slices)
ld: warning: ignoring file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavfilter.a, missing required architecture x86_64 in file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavfilter.a (3 slices)
ld: warning: ignoring file <secret)))>/MediaLib/libx264-r2409/lib/libx264.a, missing required architecture x86_64 in file <secret)))>/MediaLib/libx264-r2409/lib/libx264.a (3 slices)
ld: warning: ignoring file <secret)))>/MediaLib/libspeex-1.2rc1/lib/libspeex.a, missing required architecture x86_64 in file <secret)))>/MediaLib/libspeex-1.2rc1/lib/libspeex.a (3 slices)
ld: warning: ignoring file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libswresample.a, missing required architecture x86_64 in file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libswresample.a (3 slices)
ld: warning: ignoring file <secret)))>/MediaLib/MediaLibiOS/MediaLibiOS.a, missing required architecture x86_64 in file <secret)))>/MediaLib/MediaLibiOS/MediaLibiOS.a (2 slices)
ld: warning: ignoring file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavformat.a, missing required architecture x86_64 in file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavformat.a (3 slices)
ld: warning: ignoring file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libswscale.a, missing required architecture x86_64 in file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libswscale.a (3 slices)
ld: warning: ignoring file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavcodec.a, missing required architecture x86_64 in file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavcodec.a (3 slices)
ld: warning: ignoring file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavdevice.a, missing required architecture x86_64 in file <secret)))>/MediaLib/ffmpeg-2.2.1/lib/libavdevice.a (3 slices)
ld: warning: ignoring file <secret)))>/MediaLib/libspeex-1.2rc1/lib/libspeexdsp.a, missing required architecture x86_64 in file <secret)))>/MediaLib/libspeex-1.2rc1/lib/libspeexdsp.a (3 slices)
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_BroadcastStreamClient", referenced from:
objc-class-ref in PowwowProxy.o
"_OBJC_CLASS_$_FramesPlayer", referenced from:
objc-class-ref in PowwowProxy.o
objc-class-ref in PowwowViewController.o
"_OBJC_CLASS_$_MPMediaData", referenced from:
objc-class-ref in PowwowProxy.o
"_OBJC_CLASS_$_MediaStreamPlayer", referenced from:
objc-class-ref in PowwowProxy.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
i use this demo ,but it has a delay about 7second, some one tells me i should change gop size ,how can I change this
When masking the app's orientation as Landscape, the preview is always showed rotated by 90 degrees.
RTMPClient -> socketThreadMain: EXCEPTION: [<NSString 0x1a0719798> valueForUndefinedKey:]: this class is not key value coding-compliant for the key sf_isFeedScheme.
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.