--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-di...@googlegroups.com.
To post to this group, send email to native-cli...@googlegroups.com.
Visit this group at http://groups.google.com/group/native-client-discuss.
For more options, visit https://groups.google.com/groups/opt_out.
We have certainly looked at the native messaging API; however, my understanding is that the native messaging API does not have any performant way to transfer large chunks of binary data (such as a video stream).
There are a great many different things that FireBreath users need this sort of functionality for, but the use that I professional have is with GradeCam. GradeCam is a technology used by a large and rapidly growing number of teachers in the US (and it’s starting to become more common elsewhere as well) that utilizes a webcam and a proprietary image processing system to read bubble answer sheets on the teacher’s computer. It’s a really cool system, and it helps a lot of people. Since Chrome plans to drop NPAPI support, we’re trying to find the best alternative for providing this functionality.NaCl is obviously the first choice people think of when considering alternatives to NPAPI, but from looking at the documentation I’m not seeing any way that we can get video from the webcam other than using the HTML5 APIs, but in that case I don’t see a good way to get the data into the NaCl plugin for processing, so that doesn’t seem like it will work.
In addition, those APIs don’t support some of the more common USB document cameras that we need to support (such as ELMO). Native Messaging would be an option, but I don’t see a way to transfer the data fast enough to display the image in the browser; and can you use native messaging from inside NaCl? The docs I’ve found are unclear about any of that.
Any insight you or anyone can provide would be appreciated; feeling a little bit abandoned by my favorite browser these days, as there don’t seem to be any alternatives to NPAPI that cover most of our use cases :-(
I modified native messaging example to measure its throughput. 1024 messages 100Kb each were transferred from browser and back (100Mb in each direction total) in 13.4 seconds. So it is about 7 Mb per second on my machine.-- Andrey Khalyavin
That’s promising; can an ArrayBuffer be sent over native messaging, or some other binary format?
We have certainly looked at the native messaging API; however, my understanding is that the native messaging API does not have any performant way to transfer large chunks of binary data (such as a video stream).There are a great many different things that FireBreath users need this sort of functionality for, but the use that I professional have is with GradeCam. GradeCam is a technology used by a large and rapidly growing number of teachers in the US (and it’s starting to become more common elsewhere as well) that utilizes a webcam and a proprietary image processing system to read bubble answer sheets on the teacher’s computer. It’s a really cool system, and it helps a lot of people. Since Chrome plans to drop NPAPI support, we’re trying to find the best alternative for providing this functionality.NaCl is obviously the first choice people think of when considering alternatives to NPAPI, but from looking at the documentation I’m not seeing any way that we can get video from the webcam other than using the HTML5 APIs, but in that case I don’t see a good way to get the data into the NaCl plugin for processing, so that doesn’t seem like it will work. In addition, those APIs don’t support some of the more common USB document cameras that we need to support (such as ELMO). Native Messaging would be an option, but I don’t see a way to transfer the data fast enough to display the image in the browser; and can you use native messaging from inside NaCl? The docs I’ve found are unclear about any of that.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-discuss+unsub...@googlegroups.com.
To post to this group, send email to native-cli...@googlegroups.com.
Visit this group at http://groups.google.com/group/native-client-discuss.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-discuss+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-discuss+unsub...@googlegroups.com.
To post to this group, send email to native-cli...@googlegroups.com.
Visit this group at http://groups.google.com/group/native-client-discuss.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-discuss+unsub...@googlegroups.com.
To post to this group, send email to native-cli...@googlegroups.com.
Visit this group at http://groups.google.com/group/native-client-discuss.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-discuss+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-di...@googlegroups.com.
To post to this group, send email to native-cli...@googlegroups.com.
Visit this group at http://groups.google.com/group/native-client-discuss.
For more options, visit https://groups.google.com/d/optout.
On Wednesday, October 16, 2013 11:20:32 PM UTC+4, Richard Bateman wrote:We have certainly looked at the native messaging API; however, my understanding is that the native messaging API does not have any performant way to transfer large chunks of binary data (such as a video stream).I would make an experiment to be sure.
There are a great many different things that FireBreath users need this sort of functionality for, but the use that I professional have is with GradeCam. GradeCam is a technology used by a large and rapidly growing number of teachers in the US (and it’s starting to become more common elsewhere as well) that utilizes a webcam and a proprietary image processing system to read bubble answer sheets on the teacher’s computer. It’s a really cool system, and it helps a lot of people. Since Chrome plans to drop NPAPI support, we’re trying to find the best alternative for providing this functionality.NaCl is obviously the first choice people think of when considering alternatives to NPAPI, but from looking at the documentation I’m not seeing any way that we can get video from the webcam other than using the HTML5 APIs, but in that case I don’t see a good way to get the data into the NaCl plugin for processing, so that doesn’t seem like it will work.You can send ArrayBuffer from javascript to NaCl. Messages up to several megabytes work fine. There is also the video capture interface in the dev folder. There are no near term plans to move it out of dev though. NPAPI deprecation is a surprise for us which we are not ready for.
In addition, those APIs don’t support some of the more common USB document cameras that we need to support (such as ELMO). Native Messaging would be an option, but I don’t see a way to transfer the data fast enough to display the image in the browser; and can you use native messaging from inside NaCl? The docs I’ve found are unclear about any of that.It is not available inside NaCl. This is, unfortunately, a slow process.
Any insight you or anyone can provide would be appreciated; feeling a little bit abandoned by my favorite browser these days, as there don’t seem to be any alternatives to NPAPI that cover most of our use cases :-(The worst case, you can do all heavy processing outside of the browser and send only scores through native messaging API to javascript application (which will not need NaCl).
-- Andrey Khalyavin