edge-impulse-linux 1.9.0 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/build/library/sensors/gstreamer.d.ts +6 -2
  2. package/build/library/sensors/gstreamer.js +31 -12
  3. package/build/library/sensors/gstreamer.js.map +1 -1
  4. package/build/sdk/studio/sdk/api/classifyApi.d.ts +20 -0
  5. package/build/sdk/studio/sdk/api/classifyApi.js +86 -0
  6. package/build/sdk/studio/sdk/api/classifyApi.js.map +1 -1
  7. package/build/sdk/studio/sdk/api/jobsApi.d.ts +26 -0
  8. package/build/sdk/studio/sdk/api/jobsApi.js +168 -0
  9. package/build/sdk/studio/sdk/api/jobsApi.js.map +1 -1
  10. package/build/sdk/studio/sdk/api/organizationBlocksApi.d.ts +12 -0
  11. package/build/sdk/studio/sdk/api/organizationBlocksApi.js +79 -0
  12. package/build/sdk/studio/sdk/api/organizationBlocksApi.js.map +1 -1
  13. package/build/sdk/studio/sdk/api/organizationJobsApi.d.ts +2 -0
  14. package/build/sdk/studio/sdk/api/organizationJobsApi.js +4 -0
  15. package/build/sdk/studio/sdk/api/organizationJobsApi.js.map +1 -1
  16. package/build/sdk/studio/sdk/api/projectsApi.d.ts +107 -0
  17. package/build/sdk/studio/sdk/api/projectsApi.js +735 -26
  18. package/build/sdk/studio/sdk/api/projectsApi.js.map +1 -1
  19. package/build/sdk/studio/sdk/api/rawDataApi.d.ts +147 -10
  20. package/build/sdk/studio/sdk/api/rawDataApi.js +561 -10
  21. package/build/sdk/studio/sdk/api/rawDataApi.js.map +1 -1
  22. package/build/sdk/studio/sdk/api/userApi.d.ts +16 -1
  23. package/build/sdk/studio/sdk/api/userApi.js +72 -1
  24. package/build/sdk/studio/sdk/api/userApi.js.map +1 -1
  25. package/build/sdk/studio/sdk/model/aIAction.d.ts +51 -0
  26. package/build/sdk/studio/sdk/model/aIAction.js +69 -0
  27. package/build/sdk/studio/sdk/model/aIAction.js.map +1 -0
  28. package/build/sdk/studio/sdk/model/aIActionLastPreviewState.d.ts +31 -0
  29. package/build/sdk/studio/sdk/model/aIActionLastPreviewState.js +37 -0
  30. package/build/sdk/studio/sdk/model/aIActionLastPreviewState.js.map +1 -0
  31. package/build/sdk/studio/sdk/model/aIActionLastPreviewStateProposedChanges.d.ts +27 -0
  32. package/build/sdk/studio/sdk/model/aIActionLastPreviewStateProposedChanges.js +34 -0
  33. package/build/sdk/studio/sdk/model/aIActionLastPreviewStateProposedChanges.js.map +1 -0
  34. package/build/sdk/studio/sdk/model/aIActionsConfig.d.ts +44 -0
  35. package/build/sdk/studio/sdk/model/aIActionsConfig.js +49 -0
  36. package/build/sdk/studio/sdk/model/aIActionsConfig.js.map +1 -0
  37. package/build/sdk/studio/sdk/model/aIActionsDataCategory.d.ts +13 -0
  38. package/build/sdk/studio/sdk/model/aIActionsDataCategory.js +16 -0
  39. package/build/sdk/studio/sdk/model/aIActionsDataCategory.js.map +1 -0
  40. package/build/sdk/studio/sdk/model/addOrganizationTransformationBlockRequest.d.ts +6 -0
  41. package/build/sdk/studio/sdk/model/addOrganizationTransformationBlockRequest.js +10 -0
  42. package/build/sdk/studio/sdk/model/addOrganizationTransformationBlockRequest.js.map +1 -1
  43. package/build/sdk/studio/sdk/model/additionalMetric.d.ts +1 -0
  44. package/build/sdk/studio/sdk/model/additionalMetric.js +5 -0
  45. package/build/sdk/studio/sdk/model/additionalMetric.js.map +1 -1
  46. package/build/sdk/studio/sdk/model/batchAddMetadataRequest.d.ts +26 -0
  47. package/build/sdk/studio/sdk/model/batchAddMetadataRequest.js +34 -0
  48. package/build/sdk/studio/sdk/model/batchAddMetadataRequest.js.map +1 -0
  49. package/build/sdk/studio/sdk/model/batchClearMetadataByKeyRequest.d.ts +25 -0
  50. package/build/sdk/studio/sdk/model/batchClearMetadataByKeyRequest.js +29 -0
  51. package/build/sdk/studio/sdk/model/batchClearMetadataByKeyRequest.js.map +1 -0
  52. package/build/sdk/studio/sdk/model/createAIActionResponse.d.ts +33 -0
  53. package/build/sdk/studio/sdk/model/createAIActionResponse.js +39 -0
  54. package/build/sdk/studio/sdk/model/createAIActionResponse.js.map +1 -0
  55. package/build/sdk/studio/sdk/model/createPreviewAIActionsJobRequest.d.ts +35 -0
  56. package/build/sdk/studio/sdk/model/createPreviewAIActionsJobRequest.js +39 -0
  57. package/build/sdk/studio/sdk/model/createPreviewAIActionsJobRequest.js.map +1 -0
  58. package/build/sdk/studio/sdk/model/dSPGroupItem.d.ts +1 -0
  59. package/build/sdk/studio/sdk/model/dSPGroupItem.js +5 -0
  60. package/build/sdk/studio/sdk/model/dSPGroupItem.js.map +1 -1
  61. package/build/sdk/studio/sdk/model/detailedImpulse.d.ts +4 -0
  62. package/build/sdk/studio/sdk/model/detailedImpulse.js +5 -0
  63. package/build/sdk/studio/sdk/model/detailedImpulse.js.map +1 -1
  64. package/build/sdk/studio/sdk/model/environmentVariable.d.ts +32 -0
  65. package/build/sdk/studio/sdk/model/environmentVariable.js +34 -0
  66. package/build/sdk/studio/sdk/model/environmentVariable.js.map +1 -0
  67. package/build/sdk/studio/sdk/model/getAIActionResponse.d.ts +34 -0
  68. package/build/sdk/studio/sdk/model/getAIActionResponse.js +39 -0
  69. package/build/sdk/studio/sdk/model/getAIActionResponse.js.map +1 -0
  70. package/build/sdk/studio/sdk/model/getAIActionResponseAllOf.d.ts +26 -0
  71. package/build/sdk/studio/sdk/model/getAIActionResponseAllOf.js +29 -0
  72. package/build/sdk/studio/sdk/model/getAIActionResponseAllOf.js.map +1 -0
  73. package/build/sdk/studio/sdk/model/getAIActionsProposedChangesResponse.d.ts +34 -0
  74. package/build/sdk/studio/sdk/model/getAIActionsProposedChangesResponse.js +39 -0
  75. package/build/sdk/studio/sdk/model/getAIActionsProposedChangesResponse.js.map +1 -0
  76. package/build/sdk/studio/sdk/model/getAIActionsProposedChangesResponseAllOf.d.ts +26 -0
  77. package/build/sdk/studio/sdk/model/getAIActionsProposedChangesResponseAllOf.js +29 -0
  78. package/build/sdk/studio/sdk/model/getAIActionsProposedChangesResponseAllOf.js.map +1 -0
  79. package/build/sdk/studio/sdk/model/getPublicOrganizationTransformationBlockResponse.d.ts +34 -0
  80. package/build/sdk/studio/sdk/model/getPublicOrganizationTransformationBlockResponse.js +39 -0
  81. package/build/sdk/studio/sdk/model/getPublicOrganizationTransformationBlockResponse.js.map +1 -0
  82. package/build/sdk/studio/sdk/model/getPublicOrganizationTransformationBlockResponseAllOf.d.ts +26 -0
  83. package/build/sdk/studio/sdk/model/getPublicOrganizationTransformationBlockResponseAllOf.js +29 -0
  84. package/build/sdk/studio/sdk/model/getPublicOrganizationTransformationBlockResponseAllOf.js.map +1 -0
  85. package/build/sdk/studio/sdk/model/getUserProjectsResponse.d.ts +34 -0
  86. package/build/sdk/studio/sdk/model/getUserProjectsResponse.js +39 -0
  87. package/build/sdk/studio/sdk/model/getUserProjectsResponse.js.map +1 -0
  88. package/build/sdk/studio/sdk/model/getUserProjectsResponseAllOf.d.ts +26 -0
  89. package/build/sdk/studio/sdk/model/getUserProjectsResponseAllOf.js +29 -0
  90. package/build/sdk/studio/sdk/model/getUserProjectsResponseAllOf.js.map +1 -0
  91. package/build/sdk/studio/sdk/model/getUserResponse.d.ts +9 -0
  92. package/build/sdk/studio/sdk/model/getUserResponse.js +10 -0
  93. package/build/sdk/studio/sdk/model/getUserResponse.js.map +1 -1
  94. package/build/sdk/studio/sdk/model/getUserResponseAllOf.d.ts +9 -0
  95. package/build/sdk/studio/sdk/model/getUserResponseAllOf.js +10 -0
  96. package/build/sdk/studio/sdk/model/getUserResponseAllOf.js.map +1 -1
  97. package/build/sdk/studio/sdk/model/getUserResponseAllOfLastAccessedProjects.d.ts +30 -0
  98. package/build/sdk/studio/sdk/model/getUserResponseAllOfLastAccessedProjects.js +37 -0
  99. package/build/sdk/studio/sdk/model/getUserResponseAllOfLastAccessedProjects.js.map +1 -0
  100. package/build/sdk/studio/sdk/model/getUserResponseAllOfLastAccessedProjectsProjects.d.ts +28 -0
  101. package/build/sdk/studio/sdk/model/getUserResponseAllOfLastAccessedProjectsProjects.js +44 -0
  102. package/build/sdk/studio/sdk/model/getUserResponseAllOfLastAccessedProjectsProjects.js.map +1 -0
  103. package/build/sdk/studio/sdk/model/listAIActionsResponse.d.ts +34 -0
  104. package/build/sdk/studio/sdk/model/listAIActionsResponse.js +39 -0
  105. package/build/sdk/studio/sdk/model/listAIActionsResponse.js.map +1 -0
  106. package/build/sdk/studio/sdk/model/listAIActionsResponseAllOf.d.ts +26 -0
  107. package/build/sdk/studio/sdk/model/listAIActionsResponseAllOf.js +29 -0
  108. package/build/sdk/studio/sdk/model/listAIActionsResponseAllOf.js.map +1 -0
  109. package/build/sdk/studio/sdk/model/models.d.ts +27 -0
  110. package/build/sdk/studio/sdk/model/models.js +80 -2
  111. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  112. package/build/sdk/studio/sdk/model/optimizeConfig.d.ts +6 -4
  113. package/build/sdk/studio/sdk/model/optimizeConfig.js +9 -5
  114. package/build/sdk/studio/sdk/model/optimizeConfig.js.map +1 -1
  115. package/build/sdk/studio/sdk/model/optimizeConfigResponse.d.ts +6 -4
  116. package/build/sdk/studio/sdk/model/optimizeConfigResponse.js +9 -5
  117. package/build/sdk/studio/sdk/model/optimizeConfigResponse.js.map +1 -1
  118. package/build/sdk/studio/sdk/model/organizationTransformationBlock.d.ts +9 -0
  119. package/build/sdk/studio/sdk/model/organizationTransformationBlock.js +10 -0
  120. package/build/sdk/studio/sdk/model/organizationTransformationBlock.js.map +1 -1
  121. package/build/sdk/studio/sdk/model/previewAIActionsSamplesRequest.d.ts +42 -0
  122. package/build/sdk/studio/sdk/model/previewAIActionsSamplesRequest.js +49 -0
  123. package/build/sdk/studio/sdk/model/previewAIActionsSamplesRequest.js.map +1 -0
  124. package/build/sdk/studio/sdk/model/publicOrganizationTransformationBlock.d.ts +4 -0
  125. package/build/sdk/studio/sdk/model/publicOrganizationTransformationBlock.js +5 -0
  126. package/build/sdk/studio/sdk/model/publicOrganizationTransformationBlock.js.map +1 -1
  127. package/build/sdk/studio/sdk/model/sampleProposedChanges.d.ts +48 -0
  128. package/build/sdk/studio/sdk/model/sampleProposedChanges.js +49 -0
  129. package/build/sdk/studio/sdk/model/sampleProposedChanges.js.map +1 -0
  130. package/build/sdk/studio/sdk/model/setAIActionsOrderRequest.d.ts +25 -0
  131. package/build/sdk/studio/sdk/model/setAIActionsOrderRequest.js +29 -0
  132. package/build/sdk/studio/sdk/model/setAIActionsOrderRequest.js.map +1 -0
  133. package/build/sdk/studio/sdk/model/setSampleProposedChangesRequest.d.ts +30 -0
  134. package/build/sdk/studio/sdk/model/setSampleProposedChangesRequest.js +34 -0
  135. package/build/sdk/studio/sdk/model/setSampleProposedChangesRequest.js.map +1 -0
  136. package/build/sdk/studio/sdk/model/updateAIActionRequest.d.ts +57 -0
  137. package/build/sdk/studio/sdk/model/updateAIActionRequest.js +64 -0
  138. package/build/sdk/studio/sdk/model/updateAIActionRequest.js.map +1 -0
  139. package/build/sdk/studio/sdk/model/updateOrganizationTransformationBlockRequest.d.ts +6 -0
  140. package/build/sdk/studio/sdk/model/updateOrganizationTransformationBlockRequest.js +10 -0
  141. package/build/sdk/studio/sdk/model/updateOrganizationTransformationBlockRequest.js.map +1 -1
  142. package/build/sdk/studio/sdk/model/updateProjectRequest.d.ts +4 -0
  143. package/build/sdk/studio/sdk/model/updateProjectRequest.js +5 -0
  144. package/build/sdk/studio/sdk/model/updateProjectRequest.js.map +1 -1
  145. package/build/shared/bounding-box-file-types.d.ts +1 -0
  146. package/build/shared/bounding-box-file-types.js +46 -2
  147. package/build/shared/bounding-box-file-types.js.map +1 -1
  148. package/build/shared/viewmodels/init.d.ts +3 -0
  149. package/build/shared/viewmodels/init.js +3 -0
  150. package/build/shared/viewmodels/init.js.map +1 -1
  151. package/cli/linux/webserver/public/assets/argon-dashboard.css +20595 -0
  152. package/cli/linux/webserver/public/assets/favicon-color/favicon-120.png +0 -0
  153. package/cli/linux/webserver/public/assets/favicon-color/favicon-128.png +0 -0
  154. package/cli/linux/webserver/public/assets/favicon-color/favicon-144.png +0 -0
  155. package/cli/linux/webserver/public/assets/favicon-color/favicon-152.png +0 -0
  156. package/cli/linux/webserver/public/assets/favicon-color/favicon-16.png +0 -0
  157. package/cli/linux/webserver/public/assets/favicon-color/favicon-180.png +0 -0
  158. package/cli/linux/webserver/public/assets/favicon-color/favicon-228.png +0 -0
  159. package/cli/linux/webserver/public/assets/favicon-color/favicon-32.png +0 -0
  160. package/cli/linux/webserver/public/assets/favicon-color/favicon-57.png +0 -0
  161. package/cli/linux/webserver/public/assets/favicon-color/favicon-76.png +0 -0
  162. package/cli/linux/webserver/public/assets/favicon-color/favicon-96.png +0 -0
  163. package/cli/linux/webserver/public/assets/logo-rgb.svg +18 -0
  164. package/cli/linux/webserver/public/assets/mark.svg +20 -0
  165. package/cli/linux/webserver/public/assets/mobileclient.css +4179 -0
  166. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300.eot +0 -0
  167. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300.svg +332 -0
  168. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300.ttf +0 -0
  169. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300.woff +0 -0
  170. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300.woff2 +0 -0
  171. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300italic.eot +0 -0
  172. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300italic.svg +345 -0
  173. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300italic.ttf +0 -0
  174. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300italic.woff +0 -0
  175. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-300italic.woff2 +0 -0
  176. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600.eot +0 -0
  177. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600.svg +336 -0
  178. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600.ttf +0 -0
  179. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600.woff +0 -0
  180. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600.woff2 +0 -0
  181. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600italic.eot +0 -0
  182. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600italic.svg +349 -0
  183. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600italic.ttf +0 -0
  184. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600italic.woff +0 -0
  185. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-600italic.woff2 +0 -0
  186. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700.eot +0 -0
  187. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700.svg +334 -0
  188. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700.ttf +0 -0
  189. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700.woff +0 -0
  190. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700.woff2 +0 -0
  191. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700italic.eot +0 -0
  192. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700italic.svg +342 -0
  193. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700italic.ttf +0 -0
  194. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700italic.woff +0 -0
  195. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-700italic.woff2 +0 -0
  196. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800.eot +0 -0
  197. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800.svg +336 -0
  198. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800.ttf +0 -0
  199. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800.woff +0 -0
  200. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800.woff2 +0 -0
  201. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800italic.eot +0 -0
  202. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800italic.svg +342 -0
  203. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800italic.ttf +0 -0
  204. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800italic.woff +0 -0
  205. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-800italic.woff2 +0 -0
  206. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-italic.eot +0 -0
  207. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-italic.svg +349 -0
  208. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-italic.ttf +0 -0
  209. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-italic.woff +0 -0
  210. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-italic.woff2 +0 -0
  211. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-regular.eot +0 -0
  212. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-regular.svg +336 -0
  213. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-regular.ttf +0 -0
  214. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-regular.woff +0 -0
  215. package/cli/linux/webserver/public/fonts/open-sans-v17-latin-regular.woff2 +0 -0
  216. package/cli/linux/webserver/public/index.html +114 -0
  217. package/cli/linux/webserver/public/inference-server.js +216 -0
  218. package/cli/linux/webserver/public/webserver.js +247 -0
  219. package/package.json +3 -2
  220. package/test/gstreamer.test.ts +797 -10
@@ -1,6 +1,7 @@
1
1
  import assert from "assert";
2
2
  import {
3
- GStreamer
3
+ GStreamer,
4
+ GStreamerMode
4
5
  } from "../library/sensors/gstreamer";
5
6
  import {
6
7
  SpawnHelperType
@@ -684,9 +685,11 @@ Device found:
684
685
 
685
686
  const devices = await testGetDevices({
686
687
  gstDeviceMonitor: () => gstOutput,
688
+ modeOverride: 'rpi'
687
689
  });
688
690
 
689
- assert.equal(devices.length, 1);
691
+ assert.equal(devices.length, 3);
692
+
690
693
  assert.equal(devices[0].id, '/dev/video0');
691
694
  assert.equal(devices[0].name, 'USB');
692
695
  assert.equal(JSON.stringify(devices[0].caps), JSON.stringify([{
@@ -695,8 +698,586 @@ Device found:
695
698
  height: 720,
696
699
  framerate: 30
697
700
  }]));
701
+
702
+ assert.equal(devices[1].id, '/dev/video14');
703
+ assert.equal(devices[1].name, 'bcm2835-isp (/dev/video14)');
704
+ assert.equal(JSON.stringify(devices[1].caps), JSON.stringify([{
705
+ type: "video/x-raw",
706
+ width: 64,
707
+ height: 64,
708
+ framerate: 0
709
+ }]));
710
+
711
+ assert.equal(devices[2].id, '/dev/video15');
712
+ assert.equal(devices[2].name, 'bcm2835-isp (/dev/video15)');
713
+ assert.equal(JSON.stringify(devices[2].caps), JSON.stringify([{
714
+ type: "video/x-raw",
715
+ width: 64,
716
+ height: 64,
717
+ framerate: 0
718
+ }]));
698
719
  });
699
720
 
721
+ it("rpi camera v3 and c920 webcam on bookworm", async () => {
722
+ const gstOutput = `Probing devices...
723
+
724
+
725
+ Device found:
726
+
727
+ name : HD Pro Webcam C920
728
+ class : Video/Source
729
+ caps : video/x-raw, format=YUY2, width=2560, height=1472, pixel-aspect-ratio=1/1, framerate=2/1
730
+ video/x-raw, format=YUY2, width=1920, height=1080, pixel-aspect-ratio=1/1, framerate=5/1
731
+ video/x-raw, format=YUY2, width=1600, height=896, pixel-aspect-ratio=1/1, framerate={ (fraction)15/2, (fraction)5/1 }
732
+ video/x-raw, format=YUY2, width=1280, height=720, pixel-aspect-ratio=1/1, framerate={ (fraction)10/1, (fraction)15/2, (fraction)5/1 }
733
+ video/x-raw, format=YUY2, width=960, height=720, pixel-aspect-ratio=1/1, framerate={ (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
734
+ video/x-raw, format=YUY2, width=1024, height=576, pixel-aspect-ratio=1/1, framerate={ (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
735
+ video/x-raw, format=YUY2, width=800, height=600, pixel-aspect-ratio=1/1, framerate={ (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
736
+ video/x-raw, format=YUY2, width=864, height=480, pixel-aspect-ratio=1/1, framerate={ (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
737
+ video/x-raw, format=YUY2, width=800, height=448, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
738
+ video/x-raw, format=YUY2, width=640, height=480, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
739
+ video/x-raw, format=YUY2, width=640, height=360, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
740
+ video/x-raw, format=YUY2, width=432, height=240, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
741
+ video/x-raw, format=YUY2, width=352, height=288, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
742
+ video/x-raw, format=YUY2, width=320, height=240, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
743
+ video/x-raw, format=YUY2, width=320, height=180, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
744
+ video/x-raw, format=YUY2, width=176, height=144, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
745
+ video/x-raw, format=YUY2, width=160, height=120, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
746
+ video/x-raw, format=YUY2, width=160, height=90, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
747
+ image/jpeg, width=1920, height=1080, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
748
+ image/jpeg, width=1600, height=896, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
749
+ image/jpeg, width=1280, height=720, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
750
+ image/jpeg, width=960, height=720, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
751
+ image/jpeg, width=1024, height=576, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
752
+ image/jpeg, width=800, height=600, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
753
+ image/jpeg, width=864, height=480, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
754
+ image/jpeg, width=800, height=448, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
755
+ image/jpeg, width=640, height=480, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
756
+ image/jpeg, width=640, height=360, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
757
+ image/jpeg, width=432, height=240, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
758
+ image/jpeg, width=352, height=288, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
759
+ image/jpeg, width=320, height=240, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
760
+ image/jpeg, width=320, height=180, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
761
+ image/jpeg, width=176, height=144, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
762
+ image/jpeg, width=160, height=120, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
763
+ image/jpeg, width=160, height=90, pixel-aspect-ratio=1/1, framerate={ (fraction)30/1, (fraction)24/1, (fraction)20/1, (fraction)15/1, (fraction)10/1, (fraction)15/2, (fraction)5/1 }
764
+ properties:
765
+ udev-probed = true
766
+ device.bus_path = platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.3:1.0
767
+ sysfs.path = /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/video4linux/video2
768
+ device.bus = usb
769
+ device.subsystem = video4linux
770
+ device.vendor.id = 046d
771
+ device.vendor.name = 046d
772
+ device.product.id = 08e5
773
+ device.product.name = HD Pro Webcam C920
774
+ device.serial = 046d_HD_Pro_Webcam_C920
775
+ device.capabilities = :capture:
776
+ device.api = v4l2
777
+ device.path = /dev/video2
778
+ v4l2.device.driver = uvcvideo
779
+ v4l2.device.card = HD Pro Webcam C920
780
+ v4l2.device.bus_info = usb-0000:01:00.0-1.3
781
+ v4l2.device.version = 394803 (0x00060633)
782
+ v4l2.device.capabilities = 2225078273 (0x84a00001)
783
+ v4l2.device.device_caps = 69206017 (0x04200001)
784
+ gst-launch-1.0 v4l2src device=/dev/video2 ! ...
785
+
786
+
787
+ Device found:
788
+
789
+ name : bcm2835-isp
790
+ class : Video/Sink
791
+ caps : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
792
+ video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
793
+ video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
794
+ video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
795
+ video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
796
+ video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
797
+ video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)1:4:7:1, (string)bt601, (string)bt709, (string)1:3:5:1 }
798
+ video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)1:4:7:1, (string)bt601, (string)bt709, (string)1:3:5:1 }
799
+ video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
800
+ video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
801
+ video/x-raw, format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
802
+ video/x-raw(format:Interlaced), format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
803
+ video/x-raw, format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
804
+ video/x-raw(format:Interlaced), format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
805
+ video/x-raw, format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
806
+ video/x-raw(format:Interlaced), format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
807
+ video/x-raw, format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
808
+ video/x-raw(format:Interlaced), format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
809
+ video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
810
+ video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
811
+ video/x-raw, format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
812
+ video/x-raw(format:Interlaced), format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
813
+ video/x-bayer, format=grbg, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], colorimetry={ (string)1:1:1:0 }
814
+ video/x-bayer, format=gbrg, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], colorimetry={ (string)1:1:1:0 }
815
+ video/x-bayer, format=rggb, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], colorimetry={ (string)1:1:1:0 }
816
+ video/x-bayer, format=bggr, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], colorimetry={ (string)1:1:1:0 }
817
+ video/x-raw, format=GRAY8, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)1:4:1:0 }
818
+ video/x-raw(format:Interlaced), format=GRAY8, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)1:4:1:0 }
819
+ video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
820
+ video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
821
+ video/x-raw, format=GRAY16_LE, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)1:4:1:0 }
822
+ video/x-raw(format:Interlaced), format=GRAY16_LE, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)1:4:1:0 }
823
+ properties:
824
+ udev-probed = true
825
+ device.bus_path = platform-bcm2835-isp
826
+ sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video13
827
+ device.subsystem = video4linux
828
+ device.product.name = bcm2835-isp
829
+ device.capabilities = :video_output:
830
+ device.api = v4l2
831
+ device.path = /dev/video13
832
+ v4l2.device.driver = bcm2835-isp
833
+ v4l2.device.card = bcm2835-isp
834
+ v4l2.device.bus_info = platform:bcm2835-isp
835
+ v4l2.device.version = 394803 (0x00060633)
836
+ v4l2.device.capabilities = 2216689666 (0x84200002)
837
+ v4l2.device.device_caps = 69206018 (0x04200002)
838
+ gst-launch-1.0 ... ! v4l2sink device=/dev/video13
839
+
840
+
841
+ Device found:
842
+
843
+ name : bcm2835-isp
844
+ class : Video/Source
845
+ caps : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
846
+ video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
847
+ video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
848
+ video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
849
+ video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
850
+ video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
851
+ video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
852
+ video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
853
+ video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
854
+ video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
855
+ video/x-raw, format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
856
+ video/x-raw(format:Interlaced), format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
857
+ video/x-raw, format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
858
+ video/x-raw(format:Interlaced), format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
859
+ video/x-raw, format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
860
+ video/x-raw(format:Interlaced), format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
861
+ video/x-raw, format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
862
+ video/x-raw(format:Interlaced), format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
863
+ video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
864
+ video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
865
+ video/x-raw, format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
866
+ video/x-raw(format:Interlaced), format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
867
+ video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
868
+ video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
869
+ properties:
870
+ udev-probed = true
871
+ device.bus_path = platform-bcm2835-isp
872
+ sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video14
873
+ device.subsystem = video4linux
874
+ device.product.name = bcm2835-isp
875
+ device.capabilities = :capture:
876
+ device.api = v4l2
877
+ device.path = /dev/video14
878
+ v4l2.device.driver = bcm2835-isp
879
+ v4l2.device.card = bcm2835-isp
880
+ v4l2.device.bus_info = platform:bcm2835-isp
881
+ v4l2.device.version = 394803 (0x00060633)
882
+ v4l2.device.capabilities = 2216689665 (0x84200001)
883
+ v4l2.device.device_caps = 69206017 (0x04200001)
884
+ gst-launch-1.0 v4l2src device=/dev/video14 ! ...
885
+
886
+
887
+ Device found:
888
+
889
+ name : bcm2835-isp
890
+ class : Video/Source
891
+ caps : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
892
+ video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
893
+ video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
894
+ video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
895
+ video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
896
+ video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
897
+ video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
898
+ video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
899
+ video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
900
+ video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
901
+ video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
902
+ video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
903
+ video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
904
+ video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
905
+ properties:
906
+ udev-probed = true
907
+ device.bus_path = platform-bcm2835-isp
908
+ sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video15
909
+ device.subsystem = video4linux
910
+ device.product.name = bcm2835-isp
911
+ device.capabilities = :capture:
912
+ device.api = v4l2
913
+ device.path = /dev/video15
914
+ v4l2.device.driver = bcm2835-isp
915
+ v4l2.device.card = bcm2835-isp
916
+ v4l2.device.bus_info = platform:bcm2835-isp
917
+ v4l2.device.version = 394803 (0x00060633)
918
+ v4l2.device.capabilities = 2216689665 (0x84200001)
919
+ v4l2.device.device_caps = 69206017 (0x04200001)
920
+ gst-launch-1.0 v4l2src device=/dev/video15 ! ...
921
+
922
+
923
+ Device found:
924
+
925
+ name : bcm2835-isp
926
+ class : Video/Sink
927
+ caps : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
928
+ video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
929
+ video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
930
+ video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
931
+ video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
932
+ video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
933
+ video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)1:4:7:1, (string)bt601, (string)bt709, (string)1:3:5:1 }
934
+ video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)1:4:7:1, (string)bt601, (string)bt709, (string)1:3:5:1 }
935
+ video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
936
+ video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
937
+ video/x-raw, format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
938
+ video/x-raw(format:Interlaced), format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
939
+ video/x-raw, format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
940
+ video/x-raw(format:Interlaced), format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
941
+ video/x-raw, format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
942
+ video/x-raw(format:Interlaced), format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
943
+ video/x-raw, format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
944
+ video/x-raw(format:Interlaced), format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
945
+ video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
946
+ video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
947
+ video/x-raw, format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=progressive, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
948
+ video/x-raw(format:Interlaced), format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], interlace-mode=alternate, colorimetry={ (string)sRGB, (string)2:1:16:4, (string)2:1:5:1, (string)1:1:5:1 }
949
+ video/x-bayer, format=grbg, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], colorimetry={ (string)1:1:1:0 }
950
+ video/x-bayer, format=gbrg, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], colorimetry={ (string)1:1:1:0 }
951
+ video/x-bayer, format=rggb, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], colorimetry={ (string)1:1:1:0 }
952
+ video/x-bayer, format=bggr, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], colorimetry={ (string)1:1:1:0 }
953
+ video/x-raw, format=GRAY8, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)1:4:1:0 }
954
+ video/x-raw(format:Interlaced), format=GRAY8, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)1:4:1:0 }
955
+ video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
956
+ video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)bt601, (string)bt709, (string)1:3:5:1, (string)1:4:7:1 }
957
+ video/x-raw, format=GRAY16_LE, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=progressive, colorimetry={ (string)1:4:1:0 }
958
+ video/x-raw(format:Interlaced), format=GRAY16_LE, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], interlace-mode=alternate, colorimetry={ (string)1:4:1:0 }
959
+ properties:
960
+ udev-probed = true
961
+ device.bus_path = platform-bcm2835-isp
962
+ sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video20
963
+ device.subsystem = video4linux
964
+ device.product.name = bcm2835-isp
965
+ device.capabilities = :video_output:
966
+ device.api = v4l2
967
+ device.path = /dev/video20
968
+ v4l2.device.driver = bcm2835-isp
969
+ v4l2.device.card = bcm2835-isp
970
+ v4l2.device.bus_info = platform:bcm2835-isp
971
+ v4l2.device.version = 394803 (0x00060633)
972
+ v4l2.device.capabilities = 2216689666 (0x84200002)
973
+ v4l2.device.device_caps = 69206018 (0x04200002)
974
+ gst-launch-1.0 ... ! v4l2sink device=/dev/video20
975
+
976
+
977
+ Device found:
978
+
979
+ name : bcm2835-isp
980
+ class : Video/Source
981
+ caps : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
982
+ video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
983
+ video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
984
+ video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
985
+ video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
986
+ video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
987
+ video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
988
+ video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
989
+ video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
990
+ video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
991
+ video/x-raw, format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
992
+ video/x-raw(format:Interlaced), format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
993
+ video/x-raw, format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
994
+ video/x-raw(format:Interlaced), format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
995
+ video/x-raw, format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
996
+ video/x-raw(format:Interlaced), format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
997
+ video/x-raw, format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
998
+ video/x-raw(format:Interlaced), format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
999
+ video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
1000
+ video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1001
+ video/x-raw, format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
1002
+ video/x-raw(format:Interlaced), format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1003
+ video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
1004
+ video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1005
+ properties:
1006
+ udev-probed = true
1007
+ device.bus_path = platform-bcm2835-isp
1008
+ sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video21
1009
+ device.subsystem = video4linux
1010
+ device.product.name = bcm2835-isp
1011
+ device.capabilities = :capture:
1012
+ device.api = v4l2
1013
+ device.path = /dev/video21
1014
+ v4l2.device.driver = bcm2835-isp
1015
+ v4l2.device.card = bcm2835-isp
1016
+ v4l2.device.bus_info = platform:bcm2835-isp
1017
+ v4l2.device.version = 394803 (0x00060633)
1018
+ v4l2.device.capabilities = 2216689665 (0x84200001)
1019
+ v4l2.device.device_caps = 69206017 (0x04200001)
1020
+ gst-launch-1.0 v4l2src device=/dev/video21 ! ...
1021
+
1022
+
1023
+ Device found:
1024
+
1025
+ name : bcm2835-isp
1026
+ class : Video/Source
1027
+ caps : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
1028
+ video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1029
+ video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
1030
+ video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1031
+ video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
1032
+ video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1033
+ video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
1034
+ video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1035
+ video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
1036
+ video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1037
+ video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
1038
+ video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1039
+ video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
1040
+ video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1041
+ properties:
1042
+ udev-probed = true
1043
+ device.bus_path = platform-bcm2835-isp
1044
+ sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video22
1045
+ device.subsystem = video4linux
1046
+ device.product.name = bcm2835-isp
1047
+ device.capabilities = :capture:
1048
+ device.api = v4l2
1049
+ device.path = /dev/video22
1050
+ v4l2.device.driver = bcm2835-isp
1051
+ v4l2.device.card = bcm2835-isp
1052
+ v4l2.device.bus_info = platform:bcm2835-isp
1053
+ v4l2.device.version = 394803 (0x00060633)
1054
+ v4l2.device.capabilities = 2216689665 (0x84200001)
1055
+ v4l2.device.device_caps = 69206017 (0x04200001)
1056
+ gst-launch-1.0 v4l2src device=/dev/video22 ! ...
1057
+
1058
+
1059
+ Device found:
1060
+
1061
+ name : unicam
1062
+ class : Video/Source
1063
+ caps : video/x-raw, format=YUY2, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1064
+ video/x-raw(format:Interlaced), format=YUY2, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1065
+ video/x-raw, format=UYVY, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1066
+ video/x-raw(format:Interlaced), format=UYVY, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1067
+ video/x-raw, format=xRGB, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1068
+ video/x-raw(format:Interlaced), format=xRGB, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1069
+ video/x-raw, format=BGR, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1070
+ video/x-raw(format:Interlaced), format=BGR, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1071
+ video/x-raw, format=RGB, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1072
+ video/x-raw(format:Interlaced), format=RGB, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1073
+ video/x-raw, format=BGR15, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1074
+ video/x-raw(format:Interlaced), format=BGR15, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1075
+ video/x-raw, format=RGB15, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1076
+ video/x-raw(format:Interlaced), format=RGB15, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1077
+ video/x-raw, format=RGB16, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1078
+ video/x-raw(format:Interlaced), format=RGB16, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1079
+ video/x-bayer, format=rggb, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1080
+ video/x-bayer, format=grbg, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1081
+ video/x-bayer, format=gbrg, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1082
+ video/x-bayer, format=bggr, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1083
+ video/x-raw, format=GRAY8, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1084
+ video/x-raw(format:Interlaced), format=GRAY8, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1085
+ video/x-raw, format=GRAY16_LE, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1086
+ video/x-raw(format:Interlaced), format=GRAY16_LE, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1087
+ video/x-raw, format=YVYU, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
1088
+ video/x-raw(format:Interlaced), format=YVYU, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
1089
+ properties:
1090
+ udev-probed = true
1091
+ device.bus_path = platform-fe801000.csi
1092
+ sysfs.path = /sys/devices/platform/soc/fe801000.csi/video4linux/video0
1093
+ device.subsystem = video4linux
1094
+ device.product.name = unicam
1095
+ device.capabilities = :capture:
1096
+ device.api = v4l2
1097
+ device.path = /dev/video0
1098
+ v4l2.device.driver = unicam
1099
+ v4l2.device.card = unicam
1100
+ v4l2.device.bus_info = platform:fe801000.csi
1101
+ v4l2.device.version = 394803 (0x00060633)
1102
+ v4l2.device.capabilities = 2778726401 (0xa5a00001)
1103
+ v4l2.device.device_caps = 622854145 (0x25200001)
1104
+ gst-launch-1.0 v4l2src ! ...`;
1105
+
1106
+ const devices = await testGetDevices({
1107
+ gstDeviceMonitor: () => gstOutput,
1108
+ modeOverride: 'rpi'
1109
+ });
1110
+
1111
+ assert.equal(devices.length, 6);
1112
+
1113
+ assert.equal(devices[0].id, '/dev/video2');
1114
+ assert.equal(devices[0].name, 'HD Pro Webcam C920');
1115
+ assert.equal(JSON.stringify(devices[0].caps), JSON.stringify([{
1116
+ type: 'video/x-raw',
1117
+ width: 2560,
1118
+ height: 1472,
1119
+ framerate: 2
1120
+ }, {
1121
+ type: 'video/x-raw',
1122
+ width: 1920,
1123
+ height: 1080,
1124
+ framerate: 5
1125
+ }, {
1126
+ type: 'video/x-raw',
1127
+ width: 1600,
1128
+ height: 896,
1129
+ framerate: 15
1130
+ }, {
1131
+ type: 'video/x-raw',
1132
+ width: 1280,
1133
+ height: 720,
1134
+ framerate: 10
1135
+ }, {
1136
+ type: 'video/x-raw',
1137
+ width: 960,
1138
+ height: 720,
1139
+ framerate: 15
1140
+ },
1141
+ { type: 'video/x-raw', width: 1024, height: 576, framerate: 15 }, {
1142
+ type: 'video/x-raw',
1143
+ width: 800,
1144
+ height: 600,
1145
+ framerate: 24
1146
+ },
1147
+ { type: 'video/x-raw', width: 864, height: 480, framerate: 24 }, {
1148
+ type: 'video/x-raw',
1149
+ width: 800,
1150
+ height: 448,
1151
+ framerate: 30
1152
+ }, {
1153
+ type: 'video/x-raw',
1154
+ width: 640,
1155
+ height: 480,
1156
+ framerate: 30
1157
+ }, {
1158
+ type: 'video/x-raw',
1159
+ width: 640,
1160
+ height: 360,
1161
+ framerate: 30
1162
+ }, {
1163
+ type: 'video/x-raw',
1164
+ width: 432,
1165
+ height: 240,
1166
+ framerate: 30
1167
+ }, {
1168
+ type: 'video/x-raw',
1169
+ width: 352,
1170
+ height: 288,
1171
+ framerate: 30
1172
+ }, {
1173
+ type: 'video/x-raw',
1174
+ width: 320,
1175
+ height: 240,
1176
+ framerate: 30
1177
+ }, {
1178
+ type: 'video/x-raw',
1179
+ width: 320,
1180
+ height: 180,
1181
+ framerate: 30
1182
+ }, {
1183
+ type: 'video/x-raw',
1184
+ width: 176,
1185
+ height: 144,
1186
+ framerate: 30
1187
+ }, {
1188
+ type: 'video/x-raw',
1189
+ width: 160,
1190
+ height: 120,
1191
+ framerate: 30
1192
+ }, {
1193
+ type: 'video/x-raw',
1194
+ width: 160,
1195
+ height: 90,
1196
+ framerate: 30
1197
+ },
1198
+ { type: 'image/jpeg', width: 1920, height: 1080, framerate: 30 }, {
1199
+ type: 'image/jpeg',
1200
+ width: 1600,
1201
+ height: 896,
1202
+ framerate: 30
1203
+ }, {
1204
+ type: 'image/jpeg',
1205
+ width: 1280,
1206
+ height: 720,
1207
+ framerate: 30
1208
+ }, {
1209
+ type: 'image/jpeg',
1210
+ width: 960,
1211
+ height: 720,
1212
+ framerate: 30
1213
+ }, {
1214
+ type: 'image/jpeg',
1215
+ width: 1024,
1216
+ height: 576,
1217
+ framerate: 30
1218
+ }, {
1219
+ type: 'image/jpeg',
1220
+ width: 800,
1221
+ height: 600,
1222
+ framerate: 30
1223
+ }, {
1224
+ type: 'image/jpeg',
1225
+ width: 864,
1226
+ height: 480,
1227
+ framerate: 30
1228
+ }
1229
+
1230
+ ]));
1231
+
1232
+ assert.equal(devices[1].id, '/dev/video14');
1233
+ assert.equal(devices[1].name, 'bcm2835-isp (/dev/video14)');
1234
+ assert.equal(JSON.stringify(devices[1].caps), JSON.stringify([{
1235
+ type: "video/x-raw",
1236
+ width: 64,
1237
+ height: 64,
1238
+ framerate: 0
1239
+ }]));
1240
+
1241
+ assert.equal(devices[2].id, '/dev/video15');
1242
+ assert.equal(devices[2].name, 'bcm2835-isp (/dev/video15)');
1243
+ assert.equal(JSON.stringify(devices[2].caps), JSON.stringify([{
1244
+ type: "video/x-raw",
1245
+ width: 64,
1246
+ height: 64,
1247
+ framerate: 0
1248
+ }]));
1249
+
1250
+ assert.equal(devices[3].id, '/dev/video21');
1251
+ assert.equal(devices[3].name, 'bcm2835-isp (/dev/video21)');
1252
+ assert.equal(JSON.stringify(devices[4].caps), JSON.stringify([{
1253
+ type: "video/x-raw",
1254
+ width: 64,
1255
+ height: 64,
1256
+ framerate: 0
1257
+ }]));
1258
+
1259
+ assert.equal(devices[4].id, '/dev/video22');
1260
+ assert.equal(devices[4].name, 'bcm2835-isp (/dev/video22)');
1261
+ assert.equal(JSON.stringify(devices[4].caps), JSON.stringify([{
1262
+ type: "video/x-raw",
1263
+ width: 64,
1264
+ height: 64,
1265
+ framerate: 0
1266
+ }]));
1267
+
1268
+ assert.equal(devices[5].id, '/dev/video0');
1269
+ assert.equal(devices[5].name, 'unicam');
1270
+ assert.equal(JSON.stringify(devices[5].caps), JSON.stringify([{
1271
+ type: "video/x-raw",
1272
+ width: 16,
1273
+ height: 16,
1274
+ framerate: 0
1275
+ }]));
1276
+
1277
+ });
1278
+
1279
+
1280
+
700
1281
  // https://forum.edgeimpulse.com/t/edge-impulse-on-coral-edgetpu/2311
701
1282
  it("coral edge tpu with iMX6S", async () => {
702
1283
  const gstOutput = `Probing devices...
@@ -1106,12 +1687,114 @@ Device found:
1106
1687
 
1107
1688
  const devices = await testGetDevices({
1108
1689
  gstDeviceMonitor: () => gstOutput,
1690
+ modeOverride: 'rpi'
1109
1691
  });
1110
1692
 
1111
- assert.equal(devices.length, 1);
1112
- assert.equal(devices[0].id, '/dev/video0');
1113
- assert.equal(devices[0].name, 'UvcH264 Video Capture 4 (/dev/video0)');
1693
+ assert.equal(devices.length, 2);
1694
+
1695
+
1696
+ assert.equal(devices[0].id, '');
1697
+ assert.equal(devices[0].name, '/base/scb/pcie@7d500000/pci@0,0/usb@0,0-1.2');
1114
1698
  assert.equal(JSON.stringify(devices[0].caps), JSON.stringify([{
1699
+ type: "image/jpeg",
1700
+ width: 160,
1701
+ height: 90,
1702
+ framerate: 0
1703
+ }, {
1704
+ type: "image/jpeg",
1705
+ width: 160,
1706
+ height: 120,
1707
+ framerate: 0
1708
+ }, {
1709
+ type: 'image/jpeg',
1710
+ width: 176,
1711
+ height: 144,
1712
+ framerate: 0
1713
+ }, {
1714
+ type: 'image/jpeg',
1715
+ width: 320,
1716
+ height: 180,
1717
+ framerate: 0
1718
+ }, {
1719
+ type: 'image/jpeg',
1720
+ width: 320,
1721
+ height: 240,
1722
+ framerate: 0
1723
+ }, {
1724
+ type: 'image/jpeg',
1725
+ width: 352,
1726
+ height: 288,
1727
+ framerate: 0
1728
+ }, {
1729
+ type: 'image/jpeg',
1730
+ width: 432,
1731
+ height: 240,
1732
+ framerate: 0
1733
+ }, {
1734
+ type: 'image/jpeg',
1735
+ width: 640,
1736
+ height: 360,
1737
+ framerate: 0
1738
+ }, {
1739
+ type: 'image/jpeg',
1740
+ width: 640,
1741
+ height: 480,
1742
+ framerate: 0
1743
+ }, {
1744
+ type: 'image/jpeg',
1745
+ width: 800,
1746
+ height: 448,
1747
+ framerate: 0
1748
+ }, {
1749
+ type: 'image/jpeg',
1750
+ width: 864,
1751
+ height: 480,
1752
+ framerate: 0
1753
+ }, {
1754
+ type: 'image/jpeg',
1755
+ width: 800,
1756
+ height: 600,
1757
+ framerate: 0
1758
+ }, {
1759
+ type: 'image/jpeg',
1760
+ width: 1024,
1761
+ height: 576,
1762
+ framerate: 0
1763
+ }, {
1764
+ type: 'image/jpeg',
1765
+ width: 960,
1766
+ height: 720,
1767
+ framerate: 0
1768
+ }, {
1769
+ type: 'image/jpeg',
1770
+ width: 1280,
1771
+ height: 720,
1772
+ framerate: 0
1773
+ }, {
1774
+ type: 'image/jpeg',
1775
+ width: 1600,
1776
+ height: 896,
1777
+ framerate: 0
1778
+ }, {
1779
+ type: 'image/jpeg',
1780
+ width: 1920,
1781
+ height: 1080,
1782
+ framerate: 0
1783
+ }, {
1784
+ type: 'video/x-raw',
1785
+ width: 2304,
1786
+ height: 1296,
1787
+ framerate: 0
1788
+ }, {
1789
+ type: 'video/x-raw',
1790
+ width: 2304,
1791
+ height: 1536,
1792
+ framerate: 0
1793
+ }]));
1794
+
1795
+ assert.equal(devices[1].id, '/dev/video0');
1796
+ assert.equal(devices[1].name, 'UvcH264 Video Capture 4 (/dev/video0)');
1797
+ assert.equal(JSON.stringify(devices[1].caps), JSON.stringify([{
1115
1798
  type: "video/x-raw",
1116
1799
  width: 2304,
1117
1800
  height: 1536,
@@ -2190,12 +2873,114 @@ Device found:
2190
2873
 
2191
2874
  const devices = await testGetDevices({
2192
2875
  gstDeviceMonitor: () => gstOutput,
2876
+ modeOverride: 'rpi'
2193
2877
  });
2194
2878
 
2195
- assert.equal(devices.length, 1);
2196
- assert.equal(devices[0].id, '/dev/video0');
2197
- assert.equal(devices[0].name, 'UvcH264 C922 Pro Stream Webcam (/dev/video0)');
2198
- assert.equal(JSON.stringify(devices[0].caps), JSON.stringify([
2879
+ assert.equal(devices.length, 2);
2880
+
2881
+
2882
+ assert.equal(devices[0].id, '');
2883
+ assert.equal(devices[0].name, '/base/scb/pcie@7d500000/pci@1,0/usb@1,0-1.1');
2884
+ assert.equal(JSON.stringify(devices[0].caps), JSON.stringify([{
2885
+ type: "image/jpeg",
2886
+ width: 160,
2887
+ height: 90,
2888
+ framerate: 0
2889
+ }, {
2890
+ type: "image/jpeg",
2891
+ width: 160,
2892
+ height: 120,
2893
+ framerate: 0
2894
+ }, {
2895
+ type: 'image/jpeg',
2896
+ width: 176,
2897
+ height: 144,
2898
+ framerate: 0
2899
+ }, {
2900
+ type: 'image/jpeg',
2901
+ width: 320,
2902
+ height: 180,
2903
+ framerate: 0
2904
+ }, {
2905
+ type: 'image/jpeg',
2906
+ width: 320,
2907
+ height: 240,
2908
+ framerate: 0
2909
+ }, {
2910
+ type: 'image/jpeg',
2911
+ width: 352,
2912
+ height: 288,
2913
+ framerate: 0
2914
+ }, {
2915
+ type: 'image/jpeg',
2916
+ width: 432,
2917
+ height: 240,
2918
+ framerate: 0
2919
+ }, {
2920
+ type: 'image/jpeg',
2921
+ width: 640,
2922
+ height: 360,
2923
+ framerate: 0
2924
+ }, {
2925
+ type: 'image/jpeg',
2926
+ width: 640,
2927
+ height: 480,
2928
+ framerate: 0
2929
+ }, {
2930
+ type: 'image/jpeg',
2931
+ width: 800,
2932
+ height: 448,
2933
+ framerate: 0
2934
+ }, {
2935
+ type: 'image/jpeg',
2936
+ width: 864,
2937
+ height: 480,
2938
+ framerate: 0
2939
+ }, {
2940
+ type: 'image/jpeg',
2941
+ width: 800,
2942
+ height: 600,
2943
+ framerate: 0
2944
+ }, {
2945
+ type: 'image/jpeg',
2946
+ width: 1024,
2947
+ height: 576,
2948
+ framerate: 0
2949
+ }, {
2950
+ type: 'image/jpeg',
2951
+ width: 960,
2952
+ height: 720,
2953
+ framerate: 0
2954
+ }, {
2955
+ type: 'image/jpeg',
2956
+ width: 1280,
2957
+ height: 720,
2958
+ framerate: 0
2959
+ }, {
2960
+ type: 'image/jpeg',
2961
+ width: 1600,
2962
+ height: 896,
2963
+ framerate: 0
2964
+ }, {
2965
+ type: 'image/jpeg',
2966
+ width: 1920,
2967
+ height: 1080,
2968
+ framerate: 0
2969
+ }, {
2970
+ type: 'video/x-raw',
2971
+ width: 2304,
2972
+ height: 1296,
2973
+ framerate: 0
2974
+ }, {
2975
+ type: 'video/x-raw',
2976
+ width: 2304,
2977
+ height: 1536,
2978
+ framerate: 0
2979
+ }]));
2980
+
2981
+ assert.equal(devices[1].id, '/dev/video0');
2982
+ assert.equal(devices[1].name, 'UvcH264 C922 Pro Stream Webcam (/dev/video0)');
2983
+ assert.equal(JSON.stringify(devices[1].caps), JSON.stringify([
2199
2984
  {
2200
2985
  type: "video/x-raw",
2201
2986
  width: 2304,
@@ -4241,7 +5026,7 @@ Freeing pipeline ...
4241
5026
  spawnHelperOverride: spawnHelper,
4242
5027
  });
4243
5028
  await gstreamer.init();
4244
- const launchResp = gstreamer.getGstreamerLaunchCommand({
5029
+ const launchResp = await gstreamer.getGstreamerLaunchCommand({
4245
5030
  id: 'pylonsrc',
4246
5031
  name: 'Basler camera',
4247
5032
  caps: [{
@@ -4267,6 +5052,7 @@ async function testGetDevices(output: {
4267
5052
  gstDeviceMonitor: (args: string[]) => string,
4268
5053
  gstInspect?: (args: string[]) => string,
4269
5054
  gstLaunch?: (args: string[]) => string,
5055
+ modeOverride?: GStreamerMode,
4270
5056
  }) {
4271
5057
  const spawnHelper: SpawnHelperType = async (command: string,
4272
5058
  args: string[],
@@ -4304,6 +5090,7 @@ async function testGetDevices(output: {
4304
5090
 
4305
5091
  const gstreamer = new GStreamer(false, {
4306
5092
  spawnHelperOverride: spawnHelper,
5093
+ modeOverride: output?.modeOverride,
4307
5094
  });
4308
5095
  await gstreamer.init();
4309
5096
  const devices = await gstreamer.getAllDevices();