{ "title": "Amazing Web Apps with Ruby on Rails", "authors": [ "Gabriel Guimaraes", "Stephen Turban", "Zack Chauvin" ], "sources": [ { "source": [ { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-240p.mp4", "type": "video\/mp4", "bitrate": 181022, "framerate": 23.976, "duration": 1910, "size": 2421563273 }, { "src": "rtmp:\/\/stream.cs50.net\/cfx\/st\/mp4:2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-240p.mp4", "type": "video\/mp4" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-240p.webm", "type": "video\/webm", "bitrate": 171184, "framerate": 23.976, "duration": 1910, "size": 2421563273 } ], "label": "240p", "height": 240, "width": 426 }, { "source": [ { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-360p.mp4", "type": "video\/mp4", "bitrate": 608235, "framerate": 23.976, "duration": 1910, "size": 2421563273 }, { "src": "rtmp:\/\/stream.cs50.net\/cfx\/st\/mp4:2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-360p.mp4", "type": "video\/mp4" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-360p.webm", "type": "video\/webm", "bitrate": 1078706, "framerate": 23.976, "duration": 1910, "size": 2421563273 } ], "label": "360p", "height": 360, "width": 640 }, { "source": [ { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-720p.mp4", "type": "video\/mp4", "bitrate": 2097112, "framerate": 23.976, "duration": 1910, "size": 2421563273 }, { "src": "rtmp:\/\/stream.cs50.net\/cfx\/st\/mp4:2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-720p.mp4", "type": "video\/mp4" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-720p.webm", "type": "video\/webm", "bitrate": 2078144, "framerate": 23.976, "duration": 1910, "size": 2421563273 } ], "label": "720p", "height": 720, "width": 1280 }, { "source": [ { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-1080p.mp4", "type": "video\/mp4", "bitrate": 10132407, "framerate": 23.976, "duration": 1910, "size": 2421563273 }, { "src": "rtmp:\/\/stream.cs50.net\/cfx\/st\/mp4:2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-1080p.mp4", "type": "video\/mp4" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-1080p.webm", "type": "video\/webm", "bitrate": 10090954, "framerate": 23.976, "duration": 1910, "size": 2421563273 } ], "label": "1080p", "height": 1080, "width": 1920 } ], "downloads": [ { "label": "MP3", "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails.mp3?download" }, { "label": "MP4 (240p)", "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-240p.mp4?download" }, { "label": "MP4 (360p)", "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-360p.mp4?download" }, { "label": "MP4 (720p)", "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-720p.mp4?download" }, { "label": "MP4 (1080p)", "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-1080p.mp4?download" } ], "captions": [ { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/af\/ruby_on_rails.srt", "srclang": "af" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ar\/ruby_on_rails.srt", "srclang": "ar" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/az\/ruby_on_rails.srt", "srclang": "az" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/be\/ruby_on_rails.srt", "srclang": "be" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/bg\/ruby_on_rails.srt", "srclang": "bg" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/bn\/ruby_on_rails.srt", "srclang": "bn" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ca\/ruby_on_rails.srt", "srclang": "ca" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/cs\/ruby_on_rails.srt", "srclang": "cs" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/cy\/ruby_on_rails.srt", "srclang": "cy" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/da\/ruby_on_rails.srt", "srclang": "da" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/de\/ruby_on_rails.srt", "srclang": "de" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/el\/ruby_on_rails.srt", "srclang": "el" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/en\/ruby_on_rails.srt", "srclang": "en" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/eo\/ruby_on_rails.srt", "srclang": "eo" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/es\/ruby_on_rails.srt", "srclang": "es" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/et\/ruby_on_rails.srt", "srclang": "et" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/eu\/ruby_on_rails.srt", "srclang": "eu" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/fa\/ruby_on_rails.srt", "srclang": "fa" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/fi\/ruby_on_rails.srt", "srclang": "fi" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/fr\/ruby_on_rails.srt", "srclang": "fr" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ga\/ruby_on_rails.srt", "srclang": "ga" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/gl\/ruby_on_rails.srt", "srclang": "gl" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/gu\/ruby_on_rails.srt", "srclang": "gu" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/hi\/ruby_on_rails.srt", "srclang": "hi" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/hr\/ruby_on_rails.srt", "srclang": "hr" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ht\/ruby_on_rails.srt", "srclang": "ht" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/hu\/ruby_on_rails.srt", "srclang": "hu" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/id\/ruby_on_rails.srt", "srclang": "id" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/is\/ruby_on_rails.srt", "srclang": "is" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/it\/ruby_on_rails.srt", "srclang": "it" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/iw\/ruby_on_rails.srt", "srclang": "iw" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ja\/ruby_on_rails.srt", "srclang": "ja" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ka\/ruby_on_rails.srt", "srclang": "ka" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/kn\/ruby_on_rails.srt", "srclang": "kn" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ko\/ruby_on_rails.srt", "srclang": "ko" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/la\/ruby_on_rails.srt", "srclang": "la" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/lt\/ruby_on_rails.srt", "srclang": "lt" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/lv\/ruby_on_rails.srt", "srclang": "lv" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/mk\/ruby_on_rails.srt", "srclang": "mk" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ms\/ruby_on_rails.srt", "srclang": "ms" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/mt\/ruby_on_rails.srt", "srclang": "mt" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/nl\/ruby_on_rails.srt", "srclang": "nl" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/no\/ruby_on_rails.srt", "srclang": "no" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/pl\/ruby_on_rails.srt", "srclang": "pl" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/pt\/ruby_on_rails.srt", "srclang": "pt" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ro\/ruby_on_rails.srt", "srclang": "ro" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ru\/ruby_on_rails.srt", "srclang": "ru" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/sk\/ruby_on_rails.srt", "srclang": "sk" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/sl\/ruby_on_rails.srt", "srclang": "sl" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/sq\/ruby_on_rails.srt", "srclang": "sq" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/sr\/ruby_on_rails.srt", "srclang": "sr" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/sv\/ruby_on_rails.srt", "srclang": "sv" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/sw\/ruby_on_rails.srt", "srclang": "sw" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ta\/ruby_on_rails.srt", "srclang": "ta" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/te\/ruby_on_rails.srt", "srclang": "te" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/th\/ruby_on_rails.srt", "srclang": "th" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/tl\/ruby_on_rails.srt", "srclang": "tl" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/tr\/ruby_on_rails.srt", "srclang": "tr" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/uk\/ruby_on_rails.srt", "srclang": "uk" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/ur\/ruby_on_rails.srt", "srclang": "ur" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/vi\/ruby_on_rails.srt", "srclang": "vi" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/yi\/ruby_on_rails.srt", "srclang": "yi" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/zh-CN\/ruby_on_rails.srt", "srclang": "zh-CN" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/lang\/zh-TW\/ruby_on_rails.srt", "srclang": "zh-TW" } ], "thumbnails": [ { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-140p.png", "type": "text\/png", "height": "140", "width": "249" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-240p.png", "type": "text\/png", "height": "240", "width": "427" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-360p.png", "type": "text\/png", "height": "360", "width": "640" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-720p.png", "type": "text\/png", "height": "720", "width": "1280" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails-1080p.png", "type": "text\/png", "height": "1080", "width": "1920" }, { "src": "http:\/\/cdn.cs50.net\/2014\/fall\/seminars\/ruby_on_rails\/ruby_on_rails.vtt", "type": "text\/vtt" } ] }