{ "authors": [ "Brian Yu", "David J. Malan" ], "captions": [ { "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lang/en/lecture9.srt", "srclang": "en" } ], "chapters": [ { "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lang/en/index.vtt", "srclang": "en" } ], "downloads": [ { "label": "MP3", "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9.mp3?download" }, { "label": "MP4 (240p)", "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-240p.mp4?download" }, { "label": "MP4 (360p)", "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-360p.mp4?download" }, { "label": "MP4 (720p)", "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-720p.mp4?download" }, { "label": "MP4 (1080p)", "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-1080p.mp4?download" } ], "sources": [ { "label": "1080p", "source": [ { "duration": 4871, "height": 1080, "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-1080p.mp4", "type": "video/mp4", "width": 1920 } ] }, { "label": "240p", "source": [ { "duration": 4871, "height": 240, "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-240p.mp4", "type": "video/mp4", "width": 426 } ] }, { "label": "360p", "source": [ { "duration": 4871, "height": 360, "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-360p.mp4", "type": "video/mp4", "width": 640 } ] }, { "label": "720p", "source": [ { "duration": 4871, "height": 720, "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-720p.mp4", "type": "video/mp4", "width": 1280 } ] }, { "label": "1080p", "source": [ { "duration": 4871, "height": 1080, "src": [ "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-a-1080p.mp4", "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-b-1080p.mp4" ], "type": "video/mp4", "width": 1920 } ] }, { "label": "240p", "source": [ { "duration": 4871, "height": 240, "src": [ "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-a-240p.mp4", "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-b-240p.mp4" ], "type": "video/mp4", "width": 426 } ] }, { "label": "360p", "source": [ { "duration": 4871, "height": 360, "src": [ "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-a-360p.mp4", "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-b-360p.mp4" ], "type": "video/mp4", "width": 640 } ] }, { "label": "720p", "source": [ { "duration": 4871, "height": 720, "src": [ "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-a-720p.mp4", "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-b-720p.mp4" ], "type": "video/mp4", "width": 1280 } ] } ], "thumbnails": [ { "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-1080p.jpg", "type": "image/jpeg" }, { "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-1080p.png", "type": "image/png" }, { "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-240p.png", "type": "image/png" }, { "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-360p.png", "type": "image/png" }, { "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9-720p.png", "type": "image/png" }, { "src": "https://cdn.cs50.net/web/2018/spring/lectures/9/lecture9.vtt", "type": "text/vtt" } ], "title": "GitHub, Travis CI - Lecture 9 - CS50's Web Programming with Python and JavaScript", "youtube": { "cameras": "-WkyzQlp4sc", "main": "2A7nVdAoqqk", "screens": "s_9dPch_krM" } }