"for diffrent web"
Bootstrap 3.3.0 Snippet by riosande

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <div class="row" > <body id="" width="640" height="360"class="date-20150616 en_US ltr exp-roboto site-center-aligned site-as-giant-card not-yt-legacy-css webkit webkit-537" dir="ltr"> <div id="player" class="full-frame"></div> <div id="player-unavailable" class="ytp-error hid"><div id="unavailable-submessage" class="ytp-error-content"></div> </div> <script src="//s.ytimg.com/yts/jsbin/www-embed-player-vfl-yCoEv/www-embed-player.js" type="text/javascript" name="www-embed-player/www-embed-player"></script> <script>yt.setConfig({'EVENT_ID': "-TOBVbG8IYmeoAOH4ICQDA",'VIDEO_ID': "fRdNF51Wwyc",'ENABLE_CAST_API': true,'MDX_ENABLE_CASTV2': true,'POST_MESSAGE_ORIGIN': "*",'BG_P': "eHpkeNCy4uKNE4ZS5R7QO4bysMjeROFQvdgV9PmuJXFh9SmBUVs5j5z8JHfQFHt8VZeRP3RAn2ulsdnGc+5jCkqwfIXFMxCV0F3s6rAWkmtLgxCHWyp3qXgscnZ6ZOruKdXw3H3m0nwkrSaGEUipcJVbeho45fqNSzXRg8a2dB8PRp52r\/1ax2nrIhYexEjUalc8fmcxMB7XNf393IMvX4nsthzcy9a63yOowLiTHR3HfG+xUMkhIEJQm9rbw+tUV4tKYO7BIbJLOpKktjcs6tpu5d9zN76bUJrUutwxUJFgCeuhzsUP6dtIx6UBoPGHICjEgTrOD750H61IhbRpYuNPDmKLtNJdV1Jb406s8rPMYc2nivAGvhP2iOJaITNvqzwMsVZL9Kmh918tCwC0hWata0PimZQM0cXLt2aMqlnsYXiHgOoeVnLR03fwgbSIqbGmbcpVh9kDMfXTkoEMF04XqB5m6Mfvo4WrXwGsj7SQtC666YUtZbbPukYy4yfCocyB\/PIefqEQVbAcsU0pDtDUd8g8HHs43CGFowZ5fcEKgU1afPYWTWLuGGhWeVSOre94rs5uWAXXEfFpmb5zLk9R+kovNyvd09wNFXlYZkDOjMp\/gLayum0lzHUN6p5CVOjktqYwNqmVnKvNHqskLpE9EZx3H4KkhfzWwDOcftqCaB5wPuqiFvBjM7SBGvY5p22Nt1Yib9S1V+etGshLvFzaEo+S9DuY5pof476SeydUB1KKdP\/LO1KG+yBJUxc4w9+mvaFCWhe2azE9aKuL8jybL3er5NF8rnZFoXpZnUmDtn\/xVfqTOUJDAh3sNgM0IeJUcYu6uR7pWBFEMcPhuftxlPR7uo1cqvvR0d0jv6iC89+iirjnATrreHQDbwhOnmkpAAJm2n35XmAamh9ufHJdfNgWQaLFWChLDxWZiIG+OhKGBuUnpygLJhwOpwJ\/Lt7Ttaog8Ke7aGTjErujWqO2Fr5o9NFKIFPkKOneDyY7lZuU7XJh4ZBPKXaGuQVapmNZkjAebxtlSqusDN+K3G1Gx7tu2DbJmOZSKlL0dKBv+B+T8CNBXwQJDeVqG0GFl91cPllhg+VPLFLI28okzc\/g3RWB+0hd6Ccf8vB\/vIyyp99Pf\/EB62dvlo0uKIVUSAAXmG0j87ztRMoiaNHj8WtD6hJUb2jnODRu9qTyvJhwP0sfvT9aHgRkHDWMO9qIIVEEQMFiv4bVtiWo1fr+w1RCPecnW7V47+yKCOqnCvpbHXGZa1e+cfdbN+qiz5aRysmICuZJyebLhYfcCF\/Si4AthDPbvfBTgx+g2ueCPS2gnD0BCWV4h7izOAMdkgvRQ7hXpSkVlw91mvXxlRukv64FOKFR\/GXVC4F5axTPqJwNL\/mJM62n9nMNmOzhJwg1hZ4mMWRPFy6cup3y2UU1vXq6KK8yGL6\/ldASkRGFdzNs2Hi0BBUHzKJ4gNA2XrDhFYwr4e+IIV4IYGmG0fZV4lu2tQfzS6cK7773dyq0KxBFccqdXrSVnQNiooU6UPWtj\/LOjUjaZsJ3gj48tey\/LPhxIe5UPYankIN61ymoFTzPRCo4ptFRCn1xtr6wZaYCI42Mkfp5G73EyO2nUc+nCDDCLxk+9uJmwfusbAO546lSl5ejsMlhIDcej4ekdbUh0l4X7u3cGivx3I4NBU25Qe5SAIKEFxfk3xwuSlOanNfxrKmUVM6l3uf6OG7xbZpiJKcvVmLZ\/VivDY5DLZSokGsaNUCqdsyduF42+lXCeYTTT0adLnl0dGaxM6E5qdUFO0zLWj1RZ3yXCc8gjDBuQA4NdVAGRFa+HtMRHTFJc0ZNUT8m393kSdlT30UQMw9fRuDL2P+5UtiDzAHZUoXMJLPQhaJkQcim+OXS97gEQTLor9OlxLzgZrjejQ0Rh70Ah4Ukk0ZeAPqUoQOJIehqSYYiC8tExMUcdfWc7lcFCVt4y7FAdQV6wP5FBKimJT55x6lfDmYWZDDpmfP4TeQDL0W5mqe+\/F02ELKLa1\/wpoIWAUIlppr\/Uxwr117ero79cUNZvncb7kthwdJew9195XgsTkNTn2CEIMuXrTZBWbW5YeQqNRWKVE0drXt7m0pMkhNnwf6Le2gTJZ2q7XS\/PY2ouDy1Ll8xyjLL4fAkztc+F3TLyv5L8S2fLQAd1Pl8ZWrGZZiHm8X+Sqr54K6ul4K5PQ0QZMCRtQr6fdpPBXpE+WrrrlzxSC7mQ3sClLbcLZBPeg\/GycdkVy04PyqU5rpmh+J9xdiNF0l67hvLmHpEFVFCoowNIeSBvIkguplFUVb+BaPrpiqyzSPaGfnFhxY12DHty57kiKsr7I2K9t6FPo78Hg\/GqwCDuV+wsIsn7h\/jKysulyJJ6Fexm2Q27yaDSClEEWp4eK+13o63JRFFQIOvF+Ri3GxeV3C04R\/YY5\/yU+6hO6oM8RBREDlHEAyWtRl7q+NqBOawU52+5LF+fkPm1W609RVSoB2mmlfwiN8IxC2PjwMFSWr\/z\/d9ItcrLPm5XbV5oqKYFrZ+7d\/dbdNr3V3z9AnYxgX7QuXoB4SX2oHB3NbVUsqYxPWqPgu2jjDisnHlFZYZVOY7gfP5Ypx8To1GYMSV3wYBBQosT5Vz50KQ68JIebfzQ96Ne48ig83sFm6i0nJjqurYQkgdIHMFdN5vg9U0NeACdjJzYgfe823Kq0dNe4xv+F8eN+Ac12tgGLB+6ULhUhtpSj5XqBCSMrnSfp6QrvGKqdHubeTGRTNLbtZfLTCHwJN+KdMycQXJYHfXT+AK+CX85L9\/n\/baupcVE52bXjcMpPhCQvbdxHqgfaJHGnA+LZlegrnb5X757Tifv2iDswXJOMYDOxgpvWnDQQ9zOd0uJUIXmmEh7tDOo6VkRakjNu7rQz6XWdlTI6JTITsb1cKGHWhE00Sa7rzkF3tEneQhchREFkvbHWUKnMp9Zvjb7a7KBNWcf+Ad3gg83gbbHVAjmbqEnqj3QptNuD5PfJhrZ6eLPsXTB65chKaezNcs99XvpyHFrxUQgxBShZVrPnJm0+2Cg5MDgU1Yn7UHyF63ehdsyZeRPiYvvv0a3AKE0RgHUJ1xUgiMcMw\/a2h2ZNxxH2XZkw3waQ3lOEdgRJPUN4\/yxhiiU58qiGXNHmpSs\/mpZn4ESI6te47GkDpbDuMuwWOckPhxo5O3KMQYE2vQnyO39RM3LVYE+e+ND5wqt8IuXrr1c0FhsxlFDT4BkkJE03UtwROJTZdYEXh3+\/dQH08q1652\/5JE3nUH1rkavZUmreK0lCz6qzTmYEJ4\/CGtkNpI7qmFeu3DLhmx\/6v7Ak3P7k3m4VNpzO2WvHo0LvXx\/0o5zjrXjtrVzOUt9A+Nja5L4N3VwOV8TA0WXK8kNyevM5qHIRm9s3ZN6S2kWe+\/LiTObwtyUPpdqgfGV2nuVleJwK2h943mLDfyWAihBgTNqY1AiwcJATxFrqWOBYRBLkc7BBd17cK6yKYyh7HNN9mngpi9foy0HfNXDWOaEQvuSIYxW2inyKUymoL4cNDnhnJtEm+n0WA9Z8McRcH6LnvyrRCDPLbfjaQha8fal4eC0tMw4dtNgyKvp7aUYkqHdTQCw7\/SpNtZITsZytVEeSHr0FWf8DANs01CijKmZkSVKgyFk46oUiVOyBUyhey12Y4cXhfmAnMAREpuQiE0GGsupDCDERXTTKz9XlclNyrIlSTmolWBADHSdkmmKuZ9ZifOJBXG\/xpdN6mODqrO\/x5CqVllKTjlxNHppPTLSu1Q0gfn5z\/+GYZBVLSt6uoFPLHMFbfMC7VoCpL5dyYlopSz8LPVlbHNnnUH\/zx9Ky\/aW1M2PLPRjIsKhUqjl4ZjO9xNB7+6UFN\/x6+nhecr7nPtVfUCBZb\/cVgfT7iZ9VWlwjtDmQtSpzbpNh8mTJ6K+LI4jmQJ6vnGJTEqXzhUdrrUsmZgbt2W7p+k7Va5bPJ6xJ1dTmPAWBRUtEv3GaO0F1F5E5FRxz3CFCdczpLRoJhEPBJI6gDcPBjV9UTjO2xKTu1DiSyqx2QmEbiuh\/2\/94P8SoO0uLZTqR3mSeDyHC\/hNYlsO\/00BfXLqI+lCUXMDBFeA9APG8RtjamxDHKWaL4kxj5EcO+2hIbDdIdMV8V7Jl92qI3D\/XwUoDctiTxB9mhzyLCkvbB+MMkX94\/3xlF94W+1EzXuBNImYHKhU4e1+EZlSWZZXEBFHpFMm2SpHyeuRnDSuVRKSQX2bjoDmP7fnsJ4PV0Y5lut3o\/5l3LQ3juur9N7p\/RNPdfybdKEslQNW+v83fP+x0l9Kk8dulv7qQOAovTVjJEn\/34arTWkO9rd1b2RhCH5yYaAtgLsV\/qYkySjtBO3l2yHo1qbykKERJXXUNx+gK6IuteP36SbMWM2bNIAvaha22+1x22YjqdOC6oUesKNQmpa8YG\/RFILsJ5RiGMdxDrb26LJ0n9alhwgBR6g3BB3LjDY2P9cg7mrkX8Yaq1YrM72zSF0D6hrCL677Kx\/nSwXk+KO7dvkVu8jwrqajvIrgxabVZkt6VxdYVh8pbnoNTs87xHVUfFPRLthbF\/xSQgx6s8LN8fJ4vfX4DS2U0FCLqZFnDEVSCRkaJ6CJPlGtB3r9i7wq+8N2J95fXoV9yCO3IH\/BVxGApQNdki4st\/t+57wetgs2zOyH0yBuH8brcji2NtitDsvUygRyifsGXgxfRt54Fr22c9buGj9LruP82DIOZSpFWeGJUjTFrt\/ts8h49wIewkrarZ6oKo14zZtjwbzsBjBY4\/F2lVq4SWVbhq1KabRQyYcX2RfMvOuWMqjn2nL7X40dHGop09zp0uQm9J0ZbzbpiLyynAZNDuoH3mnqQM\/3roWtxZml\/VHLpTdVhtOTns2oOJriyUFfN9Rcx7MHLXY6ItpERGUnCObKo4F5U1XkJpl4bQkCvjPYPoZk\/J4Ozk6aVm9QC6pjx6FSztUpPSvhRX0KZrceFfw+nQ8DD56SObSjArQ62DAbFyXHOVrnAn908YcCGIiD2kAOQo7XE2PEd9U4jjOM5qYAdTwJCh0e1yzMieo4PHKJYSDEQ00fH+w7osLc2hfDfTO9d6FcmAzxG+7K2hQgb9RUIHsMZHEy1qrh33pOo4TcD74G31u6up8QBPsybMn8694qTb\/BjQDExb2mL1VRNkQBYFeeNa23OFIi5wy2OhJ0bQl4fAFUgYMII+qRjnRlMIsqa4rsANmrHnbyvgkIKDaDvirw7\/RKedNteUAthQ6TFK+pe2w0YhDsk\/fyZFRw6yh3zchq\/rO\/Wadg2xaw9LAcwTcg3xQSmrnb2KYdk9qz+7zPFDTOTjBNISAENUp6kh3Sf\/+q4+3vMtX\/MhMtYhZwGkG4GYXtS3wxO6zfm+JT652KmucU4MxQbXIMHJr16JxUBZIpfCUvJpoYARbplJHYQ5JoJXqY+7lz6rJWOukdXN4YUrJN9yKhyFoQLIzbGs+tCfHBjfxYMgG8Gnqq6bukAaPpgl8+RI8gZm+J9FgbmPEdLyQOhHJX1I9iIW1DiM+udc7qQnZTe0SV7J4+ONzq4Gf2L7QNJAs06dyG0f9OnjcbOBmyFhqm44PDWajF01KpwXFldh0l7rDdqZlYue3IhaFzaS9qZeeonyNuynvFxzS3Gj0r9RVAu9d4rw9w2vnoNOEw\/LWSGhBzGuKwZ\/utm6Jrut52fJb9RM7Xspb8qrY0vc+JoDKZT1yOlDS+IBzbxSGK1iHOYm1ms05igFNytuCEuvNUinowAmfo96biLrfaq+SV4aOPHW5KMandJ2XHoCLwUOJFQJGYDTNz4vgHM4BJM1t\/\/ma\/IRWHijpMo\/27dOM1LkTEw4jZtwOQDDH\/ynoy+ZeFoe5+A09mO6WoazjTT8ppXHNLTD0Mbbe9RaAUoFoumxGsij77Xx+VRqKsLCLJ\/fKncQdnIhaqBb6BJ8Z79JKalAh295duyZP3dHt1foyv9TnMXFeFHJoOTm+9uRyYlHBtTXNRm1syDQEONSiKrrhUzLua9gdPeR\/3\/5DJgDX5yzWmLC8X\/hJk1u623HJd2WVgvj\/pNSIzMRiy1ABe\/ehsqsu6cfXzwNhVp\/yzKFg0M7rHyAkblqCW+ul0pLX0JXGicNyh9F2RKTPIIJN4Kwgy4gDK7C6Lc0O745ur\/0yAO\/JpyCDqQNbmbcns\/AP02qYAhLyWVocCs8O465hleryGfzFnn1\/dVW8uIekACb6QZZBVCMV8eRjRsNVnWEh9Ypyv+Ku+O7weygR1ETwOpuHApjCnB+NVkPRwHqFYVdJC4VG2Oi7Dr\/vDu165hnYsHB7IHqdctPYxfn5sFLm85jRzM0qrX0fA2V6DoJJyOHG4SiAlWQXeNZLedTrc2tWZqSmaNVjbPcVa89ajJn+sSWRD1z\/DrYQx2NxwSnrYxEQ1iSrQXyOp38n3Ngn\/WBndOxVqLQVofV8EkAVde959q6OzrpWbNo2r1LjUWXntjdsiw7YTFp0G5GhrXeci9WLSy8SVNvLMDYnG9GDzvlfPCCWaUsE0WHFbsRNmBRdk1HH56Mzn9ju1+L4aWPBdl1HFBXijsvh7eTDETDSkMFE10kJ1wu4S2jLx\/WxbjquAIXlhmdoxMGaqP100axZgOZMqpD0zwVbQMgbmPtZ\/2ooixKs6BGSbr5cbjqr395\/uQCv4Hmr0jphr59hm9oOAyYwIhI1Wk8izXW+LVzhkU2WRyt3EC9T9My2pdBSa09hZvMFjbJG5V+d625Gs6D3CixR6RsWYmxqP03aZnaie2PHSCxXTKbIS+d5GvC1VUUSSD8PmYyZjvSvC16gcdG3KYSn7RwxPQagEznMSOJYyDXvOMUZ\/1hQ8T1eqZ1n8qzhMQmaZnnAJ4B+aTxzZxQbKY3XroXDOX75amhI73gb8Zs8T2BGtVLUXUjICAa4Cc62feJdo\/TftKyf4kzRZKGr\/kiGzLLvV5vF82JyYj2xWJBFvUujoDtmrGGWSVN61Aw4YBKaC1diQ6vC73yvefrDNhuVhobHATM\/Kf\/rgXWEgywnQGKHuGmIbuAmyO2x\/H1WH7mi7YS+srFALcP7qGoT+NagjMJD0kk1Zl0gonTNAz89WjD8CC+PGxHuG\/v3mMbF2U1VKYcDepkOK4uytvw8SqvnheD2SHNKYHRDWXKfiItSwwdrxaB7F2ZmB3PKnvtR7Ifinz8Ks78mgHxWhvlDalheRQCol83gn5SrYU9d8EciDp\/vbyn\/SEVuRUMPz2YGw34BPcLmSIXY0QEaxVpu77muz\/NzpZI0Wd7orfwnTHO8Q\/cD20tNrgWIpAHDAD\/KKdV1ejLTkWi0xKd8e1SpnEuA\/+qJWXVIGACIKn3PAjqjDO7WkNMIubSR5GtpV2pq1O01bshB69ifegsD7TMbQkuNPa4F7ScFxSSBJkqk1usOfNxnY1RM2mi3\/lbImPVkaVsRTck47j2eRIWCRlyG30EFYicwtvr4vq+Xy+RsG0xCclsc5hpILQGWRzI6QHf8uKfvXqRZgn\/uTqg3MtxblgALPmRFDKUFSVKq8aQ99ws8HTnQqbWcs4UHMrB3B0r2HszvCKOegkiQ7EoqYRSyKQ7jhZyuBidCOoCdBxlLvNjexO8cBWnPT3rm6sLOEBtm0n+1Mj0Ux8sryqXGG954XQ2VRawicHD\/vcXVPAH6R7j2qG4RqhQmBEqJkWlKF5rO0Gwh6vSo86y\/BMFqW11IH\/jZsN5UexTs0SakEQCWxR4AeUntTxHQFMmcpdCAUXFN58OPKGIQnxNqt50AIILGjc6McGJWHEAjDLMW2BTMqDdmJwkyAUWZWz+5NcxI\/uSLbQICjUC4Rb9pQb7kIG95xss9V9flqs4eJkAOlz8yPs22GormytO4hhvyQu2yxVGOkKAFKJI2TuNTRvz+sEE4DPeHDDO1Ip87PqbQYgqnepwHhQQ8uQoNUy+GLlg1+jCECEuqRZYve78kHJCw8tXyireAwhDS+3vecvkfOZBRI9fWQ6fmXaN2M6s4JJLEAHUzdU70lKQlNcFswx2LQtxEY7Eov4\/ggWzpvSer1eldsz9AP1AFuLXsePWEXxTpt67hWrnxnOHVHtLDRHNfEfKpuY+\/m8eOtJjQ9bgPc+lE1sc+labBubMkgvCD77BPILvcRVPvKXPLsMeYv\/qpkE8oU89ns1rCwb+Qd2kCl\/fNVSml3uw+hAmNfceAr\/L8z5UfDaKgh7ULiiTcIFeOfge5FXyyBDtsBuCRcm3lsUWfJusEbtd3tkUD7V\/NckivsDXnyRF3QZWAX6dZ7D8pTQVvUA4TdvPjtgRb5RemD41EXc709XR2DebvCg3Ox7PFhLawq9JIi0BNdGh8ltta3PJmWGH+6vHeZMc6WRryyxeVfERiCZzZ\/M5K999Gc3pt9hBTArNzGeJweTaEvwUcla\/uSlpTfXJaE2bDewH8+ol9vYiXhFGzJzEA4j21vKLeNDzVowqexGO9YBmktuZ\/fSOURo\/QQI7Fsgvq+DmukG+D5ER\/g+0bQWYn0dHrDoh6nJzyIn+S1O325cm2G1xrFfFbaXkfM5j\/SN47ap1ErxeFzW5DJncgfr6kRH+gbdtWuiYF+Ud\/vZLHERjHPfogqefKpQa0VU37TmCQ8BdhnjeMreIw7Qhas4g9qouj+4wmsHlaJqYwuTnYTzk3s6GIPqyy4dCB4pJEk4IYNO45Vx\/d7Ynjccsoe1sjmf\/x0EHFc7zJNCHPubvY09aZxltAHc9A3iLuroqVf9XkKnFC6ZUqwiYYW0fPO1y0Q45ND8J2hloQohaq+JMaWcuWAxs0001s6UfgORXT7G8NoCaXqOK\/O\/P9Kp+NtJEVBdFmLy4UsikVr4wHrMc02\/TQXwQg9LuOQbB6gVexyZeUr\/eb5QgytZq\/htoL\/Y7M6FREcYkW5giQrpg6PKCzswtZr70ABGiapjpM38vTC5eIua5ku4n8OoiRHF1eTNIoiuN3kmMwiLx62nwDGh4ANfK+L7Z+Uiy2iI0zJAHcsNHn\/9zre+cQxJ6BjJdc5rsa5dyAZ1klZnoBLT3vImDNY9cTNJj+uaxTEH7mZgjGk3yR6B901MLRohu6BLRSXF8rt3GwvPki",'BG_IU': "\/\/www.google.com\/js\/bg\/sKqegiBA7fsunHuQG8xItWp4mzto_6qB7KqvarGy7Ro.js",'XSRF_TOKEN': 'QUFFLUhqbTBUazRYVW03WUotNkFlNUlTc0kxc3pVZUtuZ3xBQ3Jtc0tsejlrN3htU0RjUUU1ZzFXYjZUT1l4aUN3V1BONjRHa2dZNlZHRUd2WmNwRmNKZjdTQ1hGUDFBSjRURHpjdEpRcU4xWnFFSmd3anZCbnlWS0VLTld2S0dxUFhPNU9RajJOSFg5RjNSZFlKQUZOMHVkX09YcERkekM5VW5tREgtWlV3OVJsNUZOQUR6VFFGX0tFTEhhVTFpZC1aaEE=','XSRF_FIELD_NAME': 'session_token','EURL': "http:\/\/nusasurfwear.com\/nusas-surf-video-report-from-the-bukit-bali"});yt.setConfig('PLAYER_CONFIG', {"args":{"adformat":null,"fflags":"autoplay_less_click_target=false\u0026legacy_poster_behavior=true\u0026player_legacy_behavior=true\u0026enable_audio_cast=true","iurl":"https:\/\/i.ytimg.com\/vi\/fRdNF51Wwyc\/hqdefault.jpg","cbrver":"43.0.2357.124","c":"WEB","apiary_host_firstparty":"","rel":"0","listType":"playlist","allow_ratings":1,"cbr":"Chrome","length_seconds":80,"host_language":"en","iurlsd":"https:\/\/i.ytimg.com\/vi\/fRdNF51Wwyc\/sddefault.jpg","hl":"en_US","title":"17-06-2015 \/✰\/ nusa's Surf Video Report from the Bukit, Bali","video_id":"fRdNF51Wwyc","eventid":"-TOBVbG8IYmeoAOH4ICQDA","innertube_api_version":"v1","iurlsd_webp":"https:\/\/i.ytimg.com\/vi_webp\/fRdNF51Wwyc\/sddefault.webp","iurlmaxres_webp":"https:\/\/i.ytimg.com\/vi_webp\/fRdNF51Wwyc\/maxresdefault.webp","idpj":"-5","iurlmq_webp":"https:\/\/i.ytimg.com\/vi_webp\/fRdNF51Wwyc\/mqdefault.webp","loaderUrl":"http:\/\/nusasurfwear.com\/nusas-surf-video-report-from-the-bukit-bali","iurl_webp":"https:\/\/i.ytimg.com\/vi_webp\/fRdNF51Wwyc\/hqdefault.webp","allow_embed":1,"iurlhq_webp":"https:\/\/i.ytimg.com\/vi_webp\/fRdNF51Wwyc\/hqdefault.webp","clipboard_swf":"https:\/\/s.ytimg.com\/yts\/swfbin\/player-vflxO2Y1a\/clipboard_polyfill.swf","iurlmq":"https:\/\/i.ytimg.com\/vi\/fRdNF51Wwyc\/mqdefault.jpg","ssl":"1","ldpj":"-32","showinfo":"0","innertube_api_key":"AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8","innertube_context_client_version":"20150615","cos":"Windows","el":"embedded","view_count":12,"avg_rating":0.0,"cosver":"6.1","index":0,"apiary_host":"","iurlmaxres":"https:\/\/i.ytimg.com\/vi\/fRdNF51Wwyc\/maxresdefault.jpg","legacy_behavior":"1","is_html5_mobile_device":false,"iurlhq":"https:\/\/i.ytimg.com\/vi\/fRdNF51Wwyc\/hqdefault.jpg","enablejsapi":1,"player_error_log_fraction":"1.0","fexp":"3300119,3300131,3300137,3300164,3310704,3312381,930817,936129,9405270,9406612,9406852,9407141,9407992,9408142,9408420,9408710,9409208,940940,9410706,9412830,9413003,9413503,9414764,9414850,9415304,9416126","gapi_hint_params":"m;\/_\/scs\/abc-static\/_\/js\/k=gapi.gapi.en.6zwg_pEP_2A.O\/m=__features__\/am=AAQ\/rt=j\/d=1\/rs=AItRSTNy-00ELgURzlKy-V-78pEvv5BpHA","cr":"ID"},"messages":{"player_fallback":["Adobe Flash Player or an HTML5 supported browser is required for video playback.\u003cbr\u003e\u003ca href=\"http:\/\/get.adobe.com\/flashplayer\/\"\u003eGet the latest Flash Player \u003c\/a\u003e\u003cbr\u003e\u003ca href=\"\/html5\"\u003eLearn more about upgrading to an HTML5 browser\u003c\/a\u003e"]},"min_version":"8.0.0","attrs":{"height":"100%","width":"100%","id":"video-player"},"url_v9as2":"https:\/\/s.ytimg.com\/yts\/swfbin\/player-vflxO2Y1a\/cps.swf","params":{"bgcolor":"#000000","allowfullscreen":"true","wmode":"opaque","allowscriptaccess":"always"},"assets":{"js":"\/\/s.ytimg.com\/yts\/jsbin\/html5player-en_US-vflKAbZ28\/html5player.js","css":"\/\/s.ytimg.com\/yts\/cssbin\/www-player-webp-vfllNrKrC.css"},"url":"https:\/\/s.ytimg.com\/yts\/swfbin\/player-vflxO2Y1a\/watch_as3.swf","html5":false,"sts":16597,"url_v8":"https:\/\/s.ytimg.com\/yts\/swfbin\/player-vflxO2Y1a\/cps.swf"});writeEmbed();</script><script>ytcsi.setSpan('st', 79);yt.setConfig({'CSI_SERVICE_NAME': "youtube",'TIMING_ACTION': "",'TIMING_INFO': {"e":"3300119,3300131,3300137,3300164,3310704,3312381,930817,936129,9405270,9406612,9406852,9407141,9407992,9408142,9408420,9408710,9409208,940940,9410706,9412830,9413003,9413503,9414764,9414850,9415304,9416126","yt_err":0,"yt_lt":"cold","yt_li":0,"yt_spf":0,"ei":"-TOBVbG8IYmeoAOH4ICQDA"}});</script><noscript><div class="player-unavailable"><h1 class="message">An error occurred.</h1><div class="submessage">Unable to execute Javascript.</h1></div></noscript></body></html> </div> </div>
#channel-image { width: 2em; height: 2em; vertical-align: middle; } #channel-name { margin-left: 0.2em; margin-right: 0.2em; } #disclaimer { font-size: 0.75em; color: #aeaeae; max-width: 350px; } body { font-family: "Open Sans", sans-serif; font-size: 1.5em; } .post-sign-in { display: none; } .during-upload { display: none; } .post-upload { display: none; } label { display: block; } input[type="text"], textarea, progress { font-size: 0.75em; width: 15em; margin-bottom: 1em; padding: 0.5em; font-family: "Open Sans", sans-serif; } textarea { height: 7em; }
/* Copyright 2015 Google Inc. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ var signinCallback = function (result){ if(result.access_token) { var uploadVideo = new UploadVideo(); uploadVideo.ready(result.access_token); } }; var STATUS_POLLING_INTERVAL_MILLIS = 60 * 1000; // One minute. /** * YouTube video uploader class * * @constructor */ var UploadVideo = function() { /** * The array of tags for the new YouTube video. * * @attribute tags * @type Array.<string> * @default ['google-cors-upload'] */ this.tags = ['youtube-cors-upload']; /** * The numeric YouTube * [category id](https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videoCategories.list?part=snippet®ionCode=us). * * @attribute categoryId * @type number * @default 22 */ this.categoryId = 22; /** * The id of the new video. * * @attribute videoId * @type string * @default '' */ this.videoId = ''; this.uploadStartTime = 0; }; UploadVideo.prototype.ready = function(accessToken) { this.accessToken = accessToken; this.gapi = gapi; this.authenticated = true; this.gapi.client.request({ path: '/youtube/v3/channels', params: { part: 'snippet', mine: true }, callback: function(response) { if (response.error) { console.log(response.error.message); } else { $('#channel-name').text(response.items[0].snippet.title); $('#channel-thumbnail').attr('src', response.items[0].snippet.thumbnails.default.url); $('.pre-sign-in').hide(); $('.post-sign-in').show(); } }.bind(this) }); $('#button').on("click", this.handleUploadClicked.bind(this)); }; /** * Uploads a video file to YouTube. * * @method uploadFile * @param {object} file File object corresponding to the video to upload. */ UploadVideo.prototype.uploadFile = function(file) { var metadata = { snippet: { title: $('#title').val(), description: $('#description').text(), tags: this.tags, categoryId: this.categoryId }, status: { privacyStatus: $('#privacy-status option:selected').text() } }; var uploader = new MediaUploader({ baseUrl: 'https://www.googleapis.com/upload/youtube/v3/videos', file: file, token: this.accessToken, metadata: metadata, params: { part: Object.keys(metadata).join(',') }, onError: function(data) { var message = data; // Assuming the error is raised by the YouTube API, data will be // a JSON string with error.message set. That may not be the // only time onError will be raised, though. try { var errorResponse = JSON.parse(data); message = errorResponse.error.message; } finally { alert(message); } }.bind(this), onProgress: function(data) { var currentTime = Date.now(); var bytesUploaded = data.loaded; var totalBytes = data.total; // The times are in millis, so we need to divide by 1000 to get seconds. var bytesPerSecond = bytesUploaded / ((currentTime - this.uploadStartTime) / 1000); var estimatedSecondsRemaining = (totalBytes - bytesUploaded) / bytesPerSecond; var percentageComplete = (bytesUploaded * 100) / totalBytes; $('#upload-progress').attr({ value: bytesUploaded, max: totalBytes }); $('#percent-transferred').text(percentageComplete); $('#bytes-transferred').text(bytesUploaded); $('#total-bytes').text(totalBytes); $('.during-upload').show(); }.bind(this), onComplete: function(data) { var uploadResponse = JSON.parse(data); this.videoId = uploadResponse.id; $('#video-id').text(this.videoId); $('.post-upload').show(); this.pollForVideoStatus(); }.bind(this) }); // This won't correspond to the *exact* start of the upload, but it should be close enough. this.uploadStartTime = Date.now(); uploader.upload(); }; UploadVideo.prototype.handleUploadClicked = function() { $('#button').attr('disabled', true); this.uploadFile($('#file').get(0).files[0]); }; UploadVideo.prototype.pollForVideoStatus = function() { this.gapi.client.request({ path: '/youtube/v3/videos', params: { part: 'status,player', id: this.videoId }, callback: function(response) { if (response.error) { // The status polling failed. console.log(response.error.message); setTimeout(this.pollForVideoStatus.bind(this), STATUS_POLLING_INTERVAL_MILLIS); } else { var uploadStatus = response.items[0].status.uploadStatus; switch (uploadStatus) { // This is a non-final status, so we need to poll again. case 'uploaded': $('#post-upload-status').append('<li>Upload status: ' + uploadStatus + '</li>'); setTimeout(this.pollForVideoStatus.bind(this), STATUS_POLLING_INTERVAL_MILLIS); break; // The video was successfully transcoded and is available. case 'processed': $('#player').append(response.items[0].player.embedHtml); $('#post-upload-status').append('<li>Final status.</li>'); break; // All other statuses indicate a permanent transcoding failure. default: $('#post-upload-status').append('<li>Transcoding failed.</li>'); break; } } }.bind(this) }); };

Related: See More


Questions / Comments: