TUTORIAL: Vastly enhancing the video camera of the iPhone 4S

Discussion in 'Jailbreaks and iOS Hacks' started by Menneisyys2, Feb 22, 2012.

  1. Menneisyys2 macrumors 603

    Joined:
    Jun 7, 2011
    #1
  2. jahoys macrumors regular

    Joined:
    Jul 6, 2011
    Location:
    Earth
    #2
    great to see you're working on the 4S. looking forward to the release of the cydia app. cheers!
     
  3. LaZyFLiP macrumors regular

    Joined:
    Jan 20, 2009
    #3
    60fps?

    Very nice write up and thanks for taking the time to explain all the technical details!

    One minor quibble though. This guy has posted and stated that 60fps is possible on the iPhone 4S. -> It's Possible (Video)

    A few posts later in that thread he has the edits required to make this work. -> AVCaptureSession.plist

    I've done the edits myself and they seem to work great. Videos recorded from the stock Camera.app are indeed 720p/60fps. There seems to be no loss in quality from the stock configuration and the frame rate does seem to be accurate to 60fps. Thoughts?
     
  4. Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #4
    Thanks! I've thoroughly tested this hack. It works just great! Updated the original writeup with info & comparison shots & a video that shows it indeed records 60 fps.
     
  5. nanogirl21 macrumors 6502a

    nanogirl21

    Joined:
    Sep 20, 2011
    #5

    Whenever I download the 720 binded mode I get the following code (yes with the weird symbols). Can you help me please. Thanks

    bplist00Ñ  _AVCaptureDevices£ ß#     

                      ! " # $ % & ' H X  Y † š ° ± ² à r Æ Ö 3 ì X&' c( r;<K r[jk|~ r€_AVCaptureSessionPreset1920x1080_AVCaptureSessionPresetMediumXuniqueID_fastSwitchVideoFallbackPreset_$AVCaptureSessionPresetPhoto2592x1936_AVCaptureSessionPreset1280x720_AVCaptureSessionPresetCommon_ExposureCenterWindowSize_FocusPointOfInterestWindowSize_AVCaptureSessionPresetLow_whiteBalanceModesXhasTorch_AVCaptureSessionPresetHigh_"AVCaptureSessionPresetConferencingXposition_$AVCaptureSessionPresetiFrame1280x720_fastSwitchVideoDeviceUID_AVCaptureSessionPresetPhotoWmodelID]localizedName_FocusCenterWindowSizeYmediaType_!AVCaptureSessionPreset1280x720p60_ exposurePointOfInterestSupportedZtorchModes_AVCaptureSessionPreset352x288_AVCaptureSessionPreset640x480XhasFlash_AVCaptureSessionPreset960x540]exposureModes_#AVCaptureSessionPresetiFrame960x540ZfocusModes_!ExposurePointOfInterestWindowSize_faceDetectionSupportedZflashModesÓ ( ) * + 4 5_VideoCompressionProperties[Description_LiveSourceOptionsÔ , - . / 0 1 2 3_AverageDataRate\ProfileLevelXPriority_MaxKeyFrameIntervalDuration -e_H264_Baseline_4_1ÿ_Back Facing 1080p VideoÕ 6 7 8 9 : ; < A D E_ImageStabilizationMethodWPreviewWCapture_TemporalNoiseReductionModeVSensorÒ = > ? @UWidthVHeightTàÒ = > B C€8 Ò = > F G€8Ó ( ) * I M NÔ , - . / J K L 3 UÌ_H264_Baseline_3_0ÿ_ Back Facing Medium Quality VideoÔ 7 9 8 : O D R UÒ = > P QàhÒ = > S TàhÒ = > V W€à_7com.apple.avfoundation.avcapturedevice.built-in_video:0Õ Z [ ) \ * ] g h i j_ExcludedOutputsZPresetName_OverridePrefixesÒ ^ _ ` e_AVCaptureMovieFileOutput_AVCaptureAudioDataOutputÑ a b_ConnectionMediaTypes¢ c dTvideTsounÑ a f¡ dQp_Back Facing 5MP PhotoRP:Ú k 7 l 8 m n o p q : r s x y | } r r ‚ ƒSHDR\MaxFrameRate\RAWSplitMode_RedEyeReductionParams_AFScoreBracketing_ChromaNoiseReduction\MinFrameRate Ó = t > u v w_PixelFormatTypeTT420f€Ó = t > z v {
    Ñ ~ _MaxStrobeExposureTimeC Ó = t > „ v …
    Ó ( ) * ‡  ŽÖ , ˆ - . / ‰ Š ; ‹ Œ 3 ;_NumberOfParallelCores^NumberOfSlices ô_H264_Baseline_3_1ÿ_Back Facing 720p VideoÕ 7 9 8  :  D “ | —VBinnedÒ = > ‘ ’TàÒ = > ” • ÐÒ = > ˜ ™ ÐÕ [ \ › œ *  ž r * ¡_PreviewVideoMirrorSupportedZVideoCodecQvYV:,V_ALL: Tavc1Ù 7 l 8 ¢ £ ¤ q ¥ : ¦ ¨ © r « ¬ * ® ¯_FullResolutionPreviewYVideoPortYAudioPort_PreviewVideoRotationDegreesÑ t §T420vÑ t § \PortTypeBack[PortTypeTopZÑ t §#?ìÌÌÌÌÌÍ#?Ð Ó ( ) * ³ ¶ ·Ô , - . / ´ K µ 3>€ÿ_Back Facing Low Quality VideoÖ 7 l 8 9 q : ¸ » ¼ D ¿ ÀÒ = > ¹ ºÀÒ = > ½ ¾ÀÒ = > Á Â€à¢ Ä ; Ó ( ) * Ç Ê ËÖ , ˆ - . / ‰ È ; ‹ É 3 ; ôÿ_Back Facing High Quality VideoÕ 7 9 8  : Ì D Ï r ÓÒ = > Í ÎTàÒ = > Ð Ñ Ð Ò = > Ô Õ ÐÖ [ ( ) \ œ * × Ø Û Ü * ÝRvcÔ , - . / Ù K Ú 3ÃPÿ_Back Facing Video ConferencingUVC_B:Ù 7 l 8 Þ 9 £ q ¥ : ß â ã æ 3 « ç è é_SensorOrientationÓ = t > à § á@ðÓ = t > ä § å@ðZZÓ = t > ê § ë€àÓ ( ) * í ó ô× , ˆ - î ‰ ï . ð ; 1 3 ñ 3 ò_MaxKeyFrameInterval_DeblockingFiltering LK@ÿ_!Back Facing iFrame 1280x720 Video× 7 l 8 9 q  : õ ø ù D ü | þÒ = > ö ÷TàÒ = > ú û ÐÒ = > ÿ  Ð_7com.apple.avfoundation.avcapturedevice.built-in_video:1Õ Z [ ) \ * g i Ò ^ _Ñ a¢ c dÑ a¡ d_Back Facing 8MP PhotoÝ
    o n q k 7 p : 8 m l
    r r r r! |%YThumbnail_AlternateSensor_HDRSavePreBracketedFrameAsEV0Ó = t >TTBGRA€ Ñ ~CÓ = t > v
     Ó = t > vT€ Ó = t > v  À Ó = t >" v# À [Back Camera#?×
    =p£×
    Ó ( ) *),-Ö , ˆ - . / ‰* ; 1+ 3 ; (
    èÿ_Back Facing 720p 60 fps Video× 7 l 8 9 q  :.12 D5 r7Ò = >/0Tà<Ò = >34 Ð Ò = >89 Ð £ Ä 3 ;Ó ( ) *=@AÔ , - . /> K? 3 3÷ÿ_Back Facing 352x288Ô 7 9 8 :B DEHÒ = >CD` Ò = >FG` Ò = >IJ` Ó ( ) *LOPÔ , - . /M KN 3 ¬üÿ_Back Facing 640x480Ô 7 9 8 :Q DTWÒ = >RS€àÒ = >UV€àÒ = >XY€à Ó ( ) *\_`Ô , - . /] ‹^ 3 Cêÿ_Back Facing 960x540 VideoÔ 7 9 8 :a DdgÒ = >bcTàÒ = >efÀÒ = >hiÀ¢ Ä ;Ó ( ) *lopÖ , - î ‰ ï .m 1 3 ñ 3n 98pÿ_ Back Facing iFrame 960x540 VideoÖ 7 l 8 9 q :qtu DxyÒ = >rsTàÒ = >vwÀÒ = >z{À¥ Ä 3 ;} ñ#?Öffffff £ Ä 3 ;ß  %           !
    $
        ; rƒ  rž³Â XÎÏÐÝÞë÷ø c Ö [ ( ) \ œ * ׄ‡ˆ *‰Ô , - . /… K† 3ÃPÿ_Front Facing Video ConferencingUVC_F:Û 7 l 8Š‹ Þ q 9 ¥ : £Œ“ r•– 3—˜›_HWFaceDetectionMode_PreviewVideoMirrorÓ = t > §Ž@ðÓ = t >‘ §’@ð^AttachMetadata ZZÓ = t >™ §š@ð]PortTypeFront \Front CameraÕ Z [ ) \ *Ÿ g¤ i¥Ò ^ _*¢Ñ a¡¢ c dÑ a£¡ d_Front Facing VGA Photo× 7 l 8 o p q :¦©ª r r¯°Ó = t >§ v¨€àÓ = t >« v¬€à Ó = t >± v²€àÓ ( ) *´·¸Ô , - . /µ K¶ 3 3÷ÿ_Front Facing 352x288Ó 7 8 :¹¼¿Ò = >º»` Ò = >½¾` Ò = >ÀÁ` Ó ( ) *ÃÆÇÔ , - . /Ä KÅ 3 ¬üÿ_Front Facing High Quality VideoÒ 7 8ÈËÒ = >ÉÊ€àÒ = >ÌÍ€à#?ìÌÌÌÌÌÍ¢ Ä ;Ó ( ) *ÑÔÕÔ , - . /Ò KÓ 3>€ÿ_Front Facing Low Quality VideoÔ 7 l 8 qÖÙÚ ¿Ò = >×ØÀÒ = >ÛÜÀ#?ÖffffffÕ [ \ › œ *  ž r *à Û 7 l 8 ¢‹ ¤ q 9 ¥ : £áâã r r ¬æ Dçè›Ñ t §Ñ t § ZÓ = t >é §ê€àÓ ( ) *ìïðÔ , - . /í Kî 3 UÌÿ_!Front Facing Medium Quality VideoÒ 7 8ñôÒ = >òóàhÒ = >õöàh¢ Ä ;Ó ( ) *ùÆüÔ , - . /ú Kû 3 ¬üÿÒ 7 8ý Ò = >þÿ€àÒ = >€àß       
       " 
     d"#_'AVCaptureSessionPresetVoicemailGreetingÐÐÓ ) 
      ZAudioCodec_FormatWriterOptionsTsamrYVoicemailÑ
    ZFileFormat\AMRAudioFileÐÐ_7com.apple.avfoundation.avcapturedevice.built-in_audio:0ÐÐÒ )[AudioPreset_Low Quality Audio_Preset_AAC_22kHz_Mono_24kbitÐÐÐÐÔ [ ) * QaTaac _Audio RecordingÑ ¤!^PortTypeBottomÐÑ 
    ' ¶ Ø ÷  Gh‡¢Ãßóü>Gn‰§¯½Õß&1Qqzš¨ÎÙý!.KWk|Ž›¤ÂÇÛÝßù)19V]_hnux{„‡ŠŒ•˜›¨¹¾ÒÔ÷ #&/25o„–¡´½Øóø#&(@Clp}Š¢¶ÍÚÛèúý 8:;<>KNQ^wž£·¹Òçî÷úý 
       1 O Z \ f g l ‘ © ³ ½ Û à å ç ì í ú
    
    


    
    
    !
    .
    ?
    B
    D
    d
    }
    †
    ˆ
    Š
    Œ
    •
    —
    ™
    ›
    ¤
    §
    ª
    ¯
    ±
    ²
    ¿
    Ø
    Ý
    ß   ! $ - 0 3 4 = @ C \ _ p s u – œ Á Õ â å ç é ö ù û ý ÿ     ! > T j o q s — ´ ½ À Ã Å Î Ñ Ô Ö × à ã æ

    5
    >
    C
    H
    M
    P
    h
    
    §
    ¹
    Ù
    æ
    é
    î
    ñ
    ò
    ÷
    ù  "#$147DGJKMYboˆ¯ÌÕØÛÝæéìîïøûþÿ$)+AR[^ajmpy|Œ¢¤ºËÔ×Úãæéòõøù:KTWZcfirux}Š£¨ªÍæïòõ÷ "$-.5Œ¦·º¼Þä'<ILNP]`bqrtvx…ˆŠ˜™¦»ÄÉÎÓÖï !.14568EHKXinp‡”*£¬¯²»¾ÁÎßäæ ),/8=J[^`’›Ÿ¡ª¬®·ÌÍúÿ
     ,=BDhqz}€‰Œ”¡²·¹ÂËÎÑÚÝà+UVWdo…Š”™¤±²³íîïø789:;LNSejyz  $ 
     
  6. Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
  7. plympton, Mar 8, 2012
    Last edited: Mar 8, 2012

    plympton macrumors newbie

    Joined:
    Jul 22, 2002
    #7
    Slow to switch to Photo mode?

    I can swap out the 720p binned for the 1080p regular plist easily through SSH.

    If I have the 1080p file, switching back and forth between camera and video is fast.

    If I have the 720p file, switching takes .. about 20-30 seconds. Ouch!

    Any ideas?

    -Dan
     
  8. mike1111 macrumors member

    Joined:
    Mar 15, 2011
    #8
    So for the best low-light performance with jailbreak I could choose 640x480, 15fps (better low-light performance) AND binned (5x5 fits the sensor)? Your article notes that decreasing the resolution helps low-light performance, decreasing the framerate does too and so does binned... but can you combine all three and does it have a noticeable benefit?

    By the way, wouldn't increasing the Mbps of the Apple encoder also improve low-light performance, at least at 1080p and 720p? What's the upper limit for the Apple encoder? 24 Mbps (like FiLMiC's encoder)?
     

Share This Page