'iOS'에 해당되는 글 42건

  1. 2011.07.21 VLC for iOS 컴파일하기 (19)
  2. 2011.06.27 Implementation of streaming technologies on iPhone (2)
iOS2011.07.21 10:20


VLC는 한번에 제대로 컴파일된 적이 없네요. iOS 버전은 최근에 작업중인지 그나마 덜 고생하고 컴파일 성공했습니다. 프로젝트들이 얽혀있어 분석이 쉽진 않겠네요.

$ tar jxvf VLC-1.1.0-iOS.tar.bz2
$ ln -s VLC-1.1.0-iOS vlc
$ cd vlc/extras/package/ios
  • build_for_iOS.sh 을 열어서 SDK 버전을 수정합니다. 현재 최신버전은 4.2.sdk입니다. IOS_SDK_ROOT="${DEVROOT}/SDKs/iPhone${PLATFORM}3.2.sdk"
  • build_for_iOS.sh 를 실행해서 컴파일해 보면 중간에 에러가 나면서 멈춥니다. patch file의 버전문제인데 ../../contrib/src-arm-apple-darwin10-ios/src/Patches/live-inet_ntop.patch의 161-185 라인을 참고해서 ../../contrib/src-arm-apple-darwin10-ios/src/live/liveMedia/RTSPServer.cpp을 직접 수정하면 됩니다. our_inet_ntoa()의 두번째 인자로 buf를 추가하기만 하면됩니다.
  • 이제 build_for_iOS.sh를 실행해서 컴파일합니다. 완료되면 vlc/install-ios-OS에 해더와 라이브러리가 생성됩니다.
  • MobileVLCKit의 static plugins를 build합니다.
$ cd vlc/projects/macosx/framework
$ xcodebuild -project MobileVLCKit.xcodeproj -target "Aggregate static plugins" -configuration "Release"
  • MobileVLCKit의 MobileVLCKit의 SDK 버전을 최신버전으로 수정하고 build합니다.
$ open MobileVLCKit.xcodeproj
fix Targets/MobileVLCKit - Get Info / Build
Configuration : All Configurations
Architectures / Base SDK : Latest iOS
$ xcodebuild -project MobileVLCKit.xcodeproj -target "MobileVLCKit" -configuration "Release"

MediaLibraryKit compile하기
  • 작업디렉토리(VLC-1.1.0-iOS와 같은 위치)에 MediaLibraryKit 디렉토리를 만들고 압축을 풉니다.
$ mkdir MediaLibraryKit && cd MediaLibraryKit
$ unzip MediaLibraryKit-1.1.0.zip
  • External 디렉토리로 들어가 MobileVLCKit의 링크를 만듭니다.
$ ln -s ../../vlc/projects/macosx/framework/build/Release-iphoneos MobileVLCKit
  • MediaLibraryKit의 SDK 버전을 최신버전으로 수정하고 build합니다.
$ open MobileMediaLibraryKit.xcodeproj
fix Targets/MobileMediaLibraryKit - Get Info / Build
Configuration : All Configurations
Architectures / Base SDK : Latest iOS
$ xcodebuild -project MobileMediaLibraryKit.xcodeproj -configuration "Release"

MobileVLC compile하기
  • 작업디렉토리(VLC-1.1.0-iOS와 같은 위치)에서 MobileVLC의 압축을 풉니다.
$ tar zxvf MobileVLC-1.1.0.tar.gz
$ cd MobileVLC
  • External 밑에 있는 MediaLibraryKit와 MobileVLCKit의 링크가 제대로 되어있는지 확인합니다.
  • MobileVLC의 SDK 버전을 최신버전으로 수정하고 build합니다.
$ open MobileVLC.xcodeproj
fix Targets/MobileVLC - Get Info / Build
Configuration : All Configurations
Architectures / Architectures : Standard (armv6 armv7)
Architectures / Base SDK : Latest iOS
build with Device-Release configurations

Posted by 삼스
iOS2011.06.27 12:39

스트리밍 관련 다양한 구현방법에 대한 안내를 정리해둔 블로그가 있어서 긇어 보았다.

iPhone HTTP Streaming with FFMpeg and an Open Source Segmenter

HTTP live streaming: iPhone streaming media overview

HTTP Live streaming draft proposal

download the MoviePlayer iPhone demo application

Step 1: Grab the lastest version of FFMpeg

Step 2: Encode your video for the iPhone

Step 3: Download and build the segmenter

Step 4: Prepare the HTTP server

Step 5: Test the stream

Step 6: Automatically the stream encoding and segmentation

Step 7: Create a variable rate HTTP stream

참조: http://www.ioncannon.net/programming/452/iphone-http-streaming-with-ffmpeg-and-an-open-source-segmenter/


Wowza Media Server 2 Advanced Preview 7

Streaming to the iPhone and iPod touch (HTTP Streaming)



Live Stram Repeater



Tuner2 HiFi Radio: iPhone/iPod Touch Player

Reduces Streaming Costs by up to 1/4.
Increases Stream Reliability.
Increases Audio Quality for a Better User Experience.
Plays AAC/HE-AAC v1 and v2 streams over EDGE/3GPP/WiFi Networks for high fidelity streaming.
Plays MP3 streams for backward compatibility (SHOUTcast and Icecast2 only).
Uses commercially licensed AAC/HE-AACv1/HE-AACv2 implementation from Fraunhofer IIS / FhG for the best audio quality, unobtainable by open-source implementations.
Uses standards-based servers such as SHOUTcast, Icecast2, QuickTime/Darwin-QTSS/DSS, and Real/Helix Streaming Servers, which can also be used to reach other players and devices, further reducing deployment and administrations costs.
Uses ICY MPEG-2/ADTS, RTP MPEG-4/ISMA, 3GPP/LATM, and RTMP Adobe Flash streaming transports and protocols, covering all basis, not just some.
Displays real-time Program Associated Data (PAD) as Program Associated Text (PAT), Stream Name, Stream Description, Artist, and Title.
Displays real-time Program Associated Graphics (PAG), Logos, Album Cover Art, and Commercials for revenue generation.
Save Titles with graphics and history information.
Recall Saved Titles to Purchase on iTunes, e-mail to other users, or play originating stream.
E-mail streams to other users. Uses Tuner2 for AAC/HE-AAC Streaming Directory Listings.
Allows additional arbitrary stream URLs to be entered directly into Player and Favorites without requiring input to a Directory Server.
Shake function to select random stream for the undecided and adventurous listener.
Automatically Connects to 3G/EDGE Network when available, wihout having to start browser first.
Deterministic auto-reconnect in the event of network interuption.
Allows incoming calls while streaming and auto reconnect upon call termination.
Full DMCA Compliant using true streaming protocols, not progressive downloading, and all required content information.
Support lanscape in most views.
Custom Player versions with custom Directory Listings available. Please ask for more information: info(at)indexcom.com
We do NOT support MP3 Flash streams.




AudioFileStream, CFReadStream, CFHTTPMessage and AudioQueue


The iPhone only supports "HTTP Streaming" by default, not RTP. This goes for audio or video. "HTTP Streaming" is really just "range requests" to an HTTP server so that portions of the audio or video stream can be downloaded at a time. Tomcat supports these requests just fine.

There are a few apps (QIK has something for example) on the iPhone that support true streaming, but nothing built in.


iPhone has no RTP Stack. But I could use an external one (PJMEDIA) ... and so become the MPEG-4/H.264 video frames in the application



Adobe's RTMP (Real Time Messaging Protocol)






Posted by 삼스