{"id":82,"date":"2021-03-28T04:17:26","date_gmt":"2021-03-28T04:17:26","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/?p=82"},"modified":"2021-03-28T04:17:26","modified_gmt":"2021-03-28T04:17:26","slug":"sebastiens-status-report-for-3-27-2021","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/2021\/03\/28\/sebastiens-status-report-for-3-27-2021\/","title":{"rendered":"Sebastien&#8217;s Status Report for 3\/27\/2021"},"content":{"rendered":"<p>This week I finished the pipeline in Rust, but unfortunately was having a lot of difficulty using existing wrappers around video4linux to output to the virtual camera device, so I ended up just rewriting it all in C++.\u00a0 Once there, I had to learn about various color pixel formats and figure out how to configure the output device with the right format, as the output from openCV is a matrix, but in the end the virtual camera device is a file descriptor &#8211; so I had to pick a format that openCV knew how to convert to but that also did not require re-ordering values in the matrix&#8217;s data buffer before writing it to file output. Now it works, so I can zoom into class through a virtual camera called &#8220;Whiteboard Pal&#8221; \ud83d\ude00<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I finished the pipeline in Rust, but unfortunately was having a lot of difficulty using existing wrappers around video4linux to output to the virtual camera device, so I ended up just rewriting it all in C++.\u00a0 Once there, I had to learn about various color pixel formats and figure out how to configure &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/2021\/03\/28\/sebastiens-status-report-for-3-27-2021\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Sebastien&#8217;s Status Report for 3\/27\/2021&#8221;<\/span><\/a><\/p>\n","protected":false},"author":428,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/posts\/82"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/users\/428"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/comments?post=82"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/posts\/82\/revisions"}],"predecessor-version":[{"id":83,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/posts\/82\/revisions\/83"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/media?parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/categories?post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s21-teamc8\/wp-json\/wp\/v2\/tags?post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}