1
00:00:00,420 --> 00:00:06,110
What we have done so far is we are capable of driving the robot in the simulation.

2
00:00:06,120 --> 00:00:08,400
We have the differential drive plug in ready.

3
00:00:08,420 --> 00:00:09,600
We're moving to the goal.

4
00:00:09,600 --> 00:00:15,090
We have the camera setup on the top to look on the ground, on the maze and make the computer vision

5
00:00:15,090 --> 00:00:15,780
deep inside of it.

6
00:00:16,530 --> 00:00:25,500
One last thing to make the life of our computer vision D really easy, and that is make a node to save

7
00:00:25,500 --> 00:00:29,320
the video for image processing for computer vision tasks.

8
00:00:29,340 --> 00:00:29,640
Okay.

9
00:00:29,850 --> 00:00:32,130
This node is going to be really important.

10
00:00:32,400 --> 00:00:39,600
If I click right click and create a new file, I am going to see that this file name is going to be

11
00:00:39,960 --> 00:00:43,230
named as video saved or if it is going to be a basic node.

12
00:00:43,230 --> 00:00:46,680
I have already copy the code just based.

13
00:00:47,550 --> 00:00:54,420
If we look at this code line library open CV two should be installed in your system.

14
00:00:54,840 --> 00:00:55,210
Okay.

15
00:00:55,230 --> 00:01:00,330
Open CV two is the main thing while we execute this thing.

16
00:01:01,140 --> 00:01:09,540
Node CV Bridge Open CV two The important thing that you have to install by yourself coming to the point

17
00:01:09,540 --> 00:01:10,290
sends a message.

18
00:01:10,290 --> 00:01:12,000
Message images utilize.

19
00:01:12,000 --> 00:01:17,010
This is a new sense of methods that we have not talked about earlier, but this is the sensor message

20
00:01:17,460 --> 00:01:19,860
that deals with the images interests.

21
00:01:19,860 --> 00:01:25,860
Okay, simple publish subscriber functionality.

22
00:01:26,280 --> 00:01:33,870
We are calling this class leading an object of work here and named as image subscriber and defining

23
00:01:33,870 --> 00:01:35,370
a node video subscriber.

24
00:01:35,370 --> 00:01:45,150
Subscriber is defined here with the specific topic of video part where you want the video to be saved

25
00:01:45,540 --> 00:01:51,150
as each of the images are going to be combined into a form of video.

26
00:01:51,540 --> 00:02:00,450
Then here we utilize some really interesting functionality of Opensea that we see all of the frames

27
00:02:00,450 --> 00:02:07,230
we obtained on this specific topic and write it in, do a video, okay?

28
00:02:07,740 --> 00:02:10,230
And the size is 1280 by 720.

29
00:02:10,590 --> 00:02:11,520
How do I know that?

30
00:02:11,850 --> 00:02:12,990
Because I have written it.

31
00:02:12,990 --> 00:02:20,160
I'm going to make changes into this thing, which is the 800 by 800 it is going to provide.

32
00:02:20,160 --> 00:02:25,140
I wanted 1280 by 720 sort of a seven type video.

33
00:02:25,560 --> 00:02:25,920
Okay.

34
00:02:26,250 --> 00:02:32,580

35
7:20 p.m. jp for encoding and it is going to save it into an object.

36
00:02:32,760 --> 00:02:34,620
Opt out is not yet written.

37
00:02:34,830 --> 00:02:35,100
Okay.

38
00:02:36,330 --> 00:02:41,220
Before writing out of out is this containing the configuration?

39
00:02:41,220 --> 00:02:44,250
It's not the images or the video stream.

40
00:02:44,460 --> 00:02:51,510
Actually, video stream is here when the process data callback function is called whenever subscribed

41
00:02:51,510 --> 00:02:58,950
data frame, it calls this process data process data contains one image and that image is converted

42
00:02:58,950 --> 00:03:09,180
into from the rice enable of the format into open CV to enable format.

43
00:03:09,690 --> 00:03:16,890
It is converted into a rice based from raw space to open CV understandable format with this TV bridge

44
00:03:17,250 --> 00:03:18,090
functionality.

45
00:03:18,420 --> 00:03:24,960
And then it becomes a simple frame of an image, and then it is saved in the form of the video after

46
00:03:24,960 --> 00:03:26,220
combining a lot of teams.

47
00:03:26,610 --> 00:03:29,910
So this is this basic functionality north of 80 rocket science.

48
00:03:30,390 --> 00:03:32,970
What I am going to do is to provide actual top.

49
00:03:32,970 --> 00:03:39,210
In our case, if I open up this, it is actually a per camera image raw.

50
00:03:39,420 --> 00:03:42,480
Okay, that is going to be the topic on which it is going to be publishing.

51
00:03:42,840 --> 00:03:47,820
30 FP This is what I have asked it for and everything seems to be fine.

52
00:03:48,390 --> 00:03:50,910
The last thing before running everything.

53
00:03:51,390 --> 00:03:57,930
We have to add this node in to the set of dirt by file.

54
00:03:59,650 --> 00:04:12,150
It is going to be video recorded and it is going to contain video sievert very by and that's it.

55
00:04:12,600 --> 00:04:13,170
I hope so.

56
00:04:13,980 --> 00:04:18,090
If I open up this thing and perform, called and overwriting.

57
00:04:21,630 --> 00:04:30,000
I want to run my mirrors bought camera mirrors don't lie Start by file to bring everything that I have

58
00:04:31,030 --> 00:04:34,380
the camera, the means and every thing relative to it.

59
00:04:34,710 --> 00:04:45,240
Now I want to run across to run me bought me is bought and what are the available nodes?

60
00:04:46,470 --> 00:04:47,880
I want it to run.

61
00:04:47,880 --> 00:04:49,410
There are extra nodes as well.

62
00:04:49,800 --> 00:04:51,060
Video recorder.

63
00:04:52,080 --> 00:04:53,760
That's what I am interested in.

64
00:04:55,380 --> 00:04:58,440
Let's see if this video recorder works or not.

65
00:04:59,490 --> 00:05:04,080
So you can see the video recorder is actually recording this video.

66
00:05:04,080 --> 00:05:06,090
It is showing the video as well.

67
00:05:06,090 --> 00:05:09,420
If I go in to my.

68
00:05:10,560 --> 00:05:13,380
Yes, the code of video saver.

69
00:05:15,420 --> 00:05:15,930
Yes.

70
00:05:16,050 --> 00:05:20,400
Here you can see every single frame is also displayed on the screen.

71
00:05:20,400 --> 00:05:26,040
As you can see here, the position is not changed the way I changed it.

72
00:05:26,040 --> 00:05:29,460
I have to change it and then save to see the things here as well.

73
00:05:29,940 --> 00:05:33,660
And other than that, everything seems great.

74
00:05:33,660 --> 00:05:36,390
But how to check if this node is actually working or not?

75
00:05:36,680 --> 00:05:38,700
I am going to press control.

76
00:05:38,700 --> 00:05:45,180
See, and there is some code that I have already written with get current working directory.

77
00:05:45,930 --> 00:05:48,270
Well, this execution is happening, right.

78
00:05:48,270 --> 00:05:49,310
The file output.

79
00:05:49,320 --> 00:05:57,480
Octavia, if we can look at here in this package, if I open up this right click open containing folder

80
00:05:58,740 --> 00:06:02,620
miss but I know it is not in the maze board.

81
00:06:02,620 --> 00:06:10,890
Then where it is, it is outside of me is board just not there even.

82
00:06:12,750 --> 00:06:15,300
Oh, where it is.

83
00:06:15,300 --> 00:06:23,970
Let me press open containing folder on it and it is in the bot planning workspace if I run it and let's

84
00:06:23,970 --> 00:06:24,360
see.

85
00:06:24,870 --> 00:06:25,290
Okay.

86
00:06:25,320 --> 00:06:30,210
You can see the video has been written and you can perform image processing on it.

87
00:06:30,210 --> 00:06:34,760
It is the same video that the upper camera is looking at it.

88
00:06:34,770 --> 00:06:36,570
So that was regarding the video.

89
00:06:36,570 --> 00:06:37,080
Say lot.

90
00:06:37,320 --> 00:06:39,630
Let's see what we can do next.
