[英]Changing different views in Xcode 6 os x application using Storyboards
[英]Using FFMPEG in an OS X application
所以我一直想制作一个实时直播应用程序。 本质上,该应用程序会将麦克风源从Xcode应用程序发送到网站,以便可以实时查看它。 FFMPEG是否是最佳解决方案? 我将如何去做呢? 如果范围太广,那么如何在OS X Objective-c应用程序中使用FFMPEG框架?
要直接解决您的问题:
(1)FFMPEG是否是最佳解决方案?
这取决于。 在设置实时流环境时,您可能会发现FFMPEG,VLC和gstreamer,这是您仅需流视频/音频的选项。 因此,可以,FFMPEG可以用作解决方案的一部分。 请调查以下问题: DIY视频流服务器
(2)我将如何去做?
您的要求是制作一个实时流式传输应用程序,以将麦克风输入发送到网络上。 这包括以下步骤:
(0)您的Xcode应用程序将需要提供一种方法来启动此过程。 您不一定需要集成框架来实现这一目标。
(1)串流/串流
使用FFMPEG或VLC来抓取设备并在本地流式传输:
ffmpeg -i audioDevice -acodec libfaac -ar 44100 -ab 48k -f rtp rtp://host:port
(2)用于HTTP实时流的分段*
使用分段器,例如: mediastreamsegmenter (Apple), livehttp (VLC)或分段 (FFMPEG)为网络交付准备流:
vlc -vvv -I dummy <SOURCEADDRESS> --sout='#transcode{acodec=libfaac,ab=48}:std{access=livehttp{seglen=10,delsegs=false,numsegs=10,index=/path/to/your/index/prog_index.m3u8,index-url=YourUrl/fileSequence######.ts},mux=ts{use-key-frames},dst=/path/to/your/ts/files/fileSequence######.ts}'
*您还可以简单地使用VLC来使用qtsound捕获音频设备(请参阅此问题 ),并准备使用livehttp进行流传输。
(3)HTML 5交付
发布您的信息流
<audio>
<source src="YOUR_PATH/playlist.m3u8" />
</audio>
(3)如果范围太广,那么如何在OS X Objective-c应用程序中使用FFMPEG框架?
使用外部包装器框架访问FFMPEG功能并查阅教程以使用这些框架,或者您也可以通过使用NSTask
将命令行参数包装在Objective-C中并从应用程序中启动这些任务来实现这一点- 问题 。
另一种方法是使用VLCKit ,该工具在Objective-C框架( VLCKit wiki )中提供VLC功能。 但是,在解决流式传输挑战时,我更喜欢使用实际的命令,而不是在两者之间添加另一层框架,因为这可能会缺少某些选项。
我希望这能为您指明正确的方向。 有多种解决方法。 这是一个广泛的问题,因此,这种广泛的方法可以回答您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.