Upgrade to Pro — share decks privately, control downloads, hide ads and more …

動画アプリをなめらかに動かす技術 - iOS -

Yuji Hato
August 31, 2018

動画アプリをなめらかに動かす技術 - iOS -

Technology to smoothly move video applications on iOS

Yuji Hato

August 31, 2018
Tweet

More Decks by Yuji Hato

Other Decks in Technology

Transcript

  1. $POUBJOFS'PSNBUDPEFD $POUBJOFS 'PSNBU 7JEFPDPEFD "VEJPDPEFD .1&(54 UTNUNUT ).1&( ""$"$.1 .1

    NQNB )9WJE%JWY.1&() ""$.1"$7PSJCJT .07 NPWRU ).+&(.1&( ""$.1-1$. "7* BWJ )9WJE%JWY.1&( ""$.1-1$. 8FC. XFCN 7171 7PSCJT FUD ಈը࠶ੜ
  2. $POUBJOFS'PSNBUDPEFD $POUBJOFS 'PSNBU 7JEFPDPEFD "VEJPDPEFD .1&(54 UTNUNUT ).1&( ""$"$.1 .1

    NQNB )9WJE%JWY.1&() "7 ""$.1"$7PSJCJT .07 NPWRU ).+&(.1&( ""$.1-1$. "7* BWJ )9WJE%JWY.1&( ""$.1-1$. 8FC. XFCN 7171"7 7PSCJT FUD ಈը࠶ੜ
  3. )-4

  4. #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=232370,CODECS="mp4a.40.2, avc1.4d4015" gear1/prog_index.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=649879,CODECS="mp4a.40.2, avc1.4d401e" gear2/prog_index.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=991714,CODECS="mp4a.40.2, avc1.4d401e" gear3/prog_index.m3u8

    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1927833,CODECS="mp4a.40.2, avc1.4d401f" gear4/prog_index.m3u8 … )-4 https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8 .BTUFS1MBZMJTU NV
  5. #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=232370,CODECS="mp4a.40.2, avc1.4d4015" gear1/prog_index.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=649879,CODECS="mp4a.40.2, avc1.4d401e" gear2/prog_index.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=991714,CODECS="mp4a.40.2, avc1.4d401e" gear3/prog_index.m3u8

    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1927833,CODECS="mp4a.40.2, avc1.4d401f" gear4/prog_index.m3u8 … )-4 https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8 .BTUFS1MBZMJTU NV
  6. #EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-PLAYLIST-TYPE:VOD #EXTINF:9.97667, fileSequence0.ts #EXTINF:9.97667, fileSequence1.ts #EXTINF:9.97667,

    fileSequence2.ts #EXTINF:9.97667, fileSequence3.ts #EXTINF:9.97667, fileSequence4.ts … #EXT-X-ENDLIST )-4 http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8 .FEJB1MBZMJTU NV
  7. #EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-PLAYLIST-TYPE:VOD #EXTINF:9.97667, fileSequence0.ts #EXTINF:9.97667, fileSequence1.ts #EXTINF:9.97667,

    fileSequence2.ts #EXTINF:9.97667, fileSequence3.ts #EXTINF:9.97667, fileSequence4.ts … #EXT-X-ENDLIST )-4 http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8 .FEJB1MBZMJTU NV
  8. #EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-PLAYLIST-TYPE:VOD #EXTINF:9.97667, fileSequence0.ts #EXTINF:9.97667, fileSequence1.ts #EXTINF:9.97667,

    fileSequence2.ts #EXTINF:9.97667, fileSequence3.ts #EXTINF:9.97667, fileSequence4.ts … #EXT-X-ENDLIST UT ηάϝϯτϑΝΠϧ UT )-4 http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8 .FEJB1MBZMJTU NV UT UT UT UT
  9. ࣮૷ϙΠϯτ 7JEFP1MBZFSDMBTT DMBTT7JEFP1MBZFS\ QSJWBUF TFU WBSQMBZFS"71MBZFS MFUQMBZFS*UFN"71MBZFS*UFN JOJU VSM63- \

    MFUBTTFU"7"TTFU"7"TTFU VSMVSM QMBZFS*UFN"71MBZFS*UFN BTTFUBTTFU  ^ ʜ ^
  10. ࣮૷ϙΠϯτ αϒεϨουͰ1MBZFSΛੜ੒ DMBTT7JEFP1MBZFS\ JOJU VSM63- \ MFUBTTFU"7"TTFU"7"TTFU VSMVSM QMBZFS*UFN"71MBZFS*UFN BTTFUBTTFU

     ^ ʜ ^ αϒεϨουͰϓϨΠϠʔΛੜ੒ TUSFBN63-BT0CTFSWBCMF PCTFSWF0O TDIFEVMFS TVCTDSJCF PO/FYU\<XFBLTFMG>TUSFBN63-JO TFMG DSFBUF1MBZFS VSMTUSFBN63- DSFBUF1MBZFSͰ7JEFP1MBZFSΛੜ੒ ^ EJTQPTFE CZEJTQPTF#BH
  11. ࣮૷ϙΠϯτ DMBTT7JEFP1MBZFS\ … JOJU VSM63- \ MFUBTTFU"7"TTFU"7"TTFU VSMVSM QMBZFS*UFN"71MBZFS*UFN BTTFUBTTFU

     BTTFUSYJT1MBZBCMF pMUFS\^ PCTFSWF0O $PODVSSFOU.BJO4DIFEVMFSJOTUBODF TVCTDSJCF PO/FYU\<XFBLTFMG>@JO HVBSEMFUNFTFMGFMTF\SFUVSO^ ϝΠϯεϨουͰੜ੒ NFQMBZFS"71MBZFS QMBZFS*UFNQMBZFS*UFN ^ EJTQPTFE CZEJTQPTF#BH  ^ ʜ ^ "7"TTFUͷQMBZBCMFͷUSVFΛ଴ͬͯ"71MBZFSΛੜ੒
  12. #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=232370,CODECS="mp4a.40.2, avc1.4d4015" gear1/prog_index.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=649879,CODECS="mp4a.40.2, avc1.4d401e" gear2/prog_index.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=991714,CODECS="mp4a.40.2, avc1.4d401e" gear3/prog_index.m3u8

    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1927833,CODECS="mp4a.40.2, avc1.4d401f" gear4/prog_index.m3u8 … https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8 .BTUFS1MBZMJTU NV ࠷దͳCJUSBUF
  13. #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=232370,CODECS="mp4a.40.2, avc1.4d4015" gear1/prog_index.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=649879,CODECS="mp4a.40.2, avc1.4d401e" gear2/prog_index.m3u8 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=991714,CODECS="mp4a.40.2, avc1.4d401e" gear3/prog_index.m3u8

    #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1927833,CODECS="mp4a.40.2, avc1.4d401f" gear4/prog_index.m3u8 … https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_4x3/bipbop_4x3_variant.m3u8 .BTUFS1MBZMJTU NV ࠷దͳCJUSBUF
  14. 1MBZFSͷ؂ࢹ /PUJpDBUJPO FYUFOTJPO/PUJpDBUJPO/BNF\ TUBUJDMFUUJNFCBTF&⒎FDUJWF3BUF$IBOHFE/4/PUJpDBUJPO/BNF SBX7BMVF 4USJOH L$.5JNFCBTF/PUJpDBUJPO@&⒎FDUJWF3BUF$IBOHFE ^ WBSUJNFCBTF&⒎FDUJWF3BUF$IBOHFE0CTFSWBCMF'MPBU\ SFUVSO/PUJpDBUJPO$FOUFSEFGBVMUSYOPUJpDBUJPO

    UJNFCBTF&⒎FDUJWF3BUF$IBOHFE PCKFDU CBTFUJNFCBTF qBU.BQ\<XFBLCBTF>@0CTFSWBCMF'MPBUJO HVBSEMFUUJNFCBTFCBTF UJNFCBTFFMTF\SFUVSOFNQUZ ^ SFUVSOKVTU $.5JNFCBTF(FU3BUF UJNFCBTF ^ ^
  15. "71MBZFS*UFNQMBZCBDLCV⒎FS FYUFOTJPO3FBDUJWFXIFSF#BTF"71MBZFS*UFN\ WBSMPBEFE5JNF3BOHFT0CTFSWBCMF</47BMVF>\ SFUVSOPCTFSWF </47BMVF>TFMG LFZ1BUI "71MBZFS*UFNMPBEFE5JNF3BOHFT pMUFS/JM ^ ^

    QMBZFS*UFNSYMPBEFE5JNF3BOHFT TVCTDSJCF PO/FYU\<XFBLQMBZFS*UFN>MPBEFE5JNF3BOHFTJO HVBSEMFUQMBZFS*UFNQMBZFS*UFNFMTF\SFUVSO^ MFUCV⒎FS%PVCMF MPBEFE5JNF3BOHFTMBTUBT $.5JNF3BOHF NBQ\SBOHFJO SBOHFFOEQMBZFS*UFNDVSSFOU5JNF TFDPOET^  QSJOU CV⒎FSa CV⒎FS  ^ EJTQPTFE CZEJTQPTF#BH  1MBZFSͷ؂ࢹ