در این مطلب، ویدئو پخش ویدیو با GStreamer و Python عالی شد – sunhacks 2020 Talk با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:19:56
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,020 –> 00:00:05,440
[موسیقی]
2
00:00:05,440 –> 00:00:05,920
سلام
3
00:00:05,920 –> 00:00:07,919
نام من تایلر کامپتون است، من یک
4
00:00:07,919 –> 00:00:09,599
مدیر محصول در out2ai هستم
5
00:00:09,599 –> 00:00:10,960
و امروز قرار است در
6
00:00:10,960 –> 00:00:13,200
مورد پردازش ویدیو با پایتون
7
00:00:13,200 –> 00:00:14,880
صحبت کنیم، پس از این سخنرانی، شما قادر خواهید بود
8
00:00:14,880 –> 00:00:16,720
یک جریان ویدیویی را رمزگشایی کنید و
9
00:00:16,720 –> 00:00:18,480
افکت های جالبی را اعمال کنید. به آن و نمایش
10
00:00:18,480 –> 00:00:20,400
آن بر روی صفحه نمایش و ما
11
00:00:20,400 –> 00:00:21,279
همه این کارها را با استفاده از کتابخانه g
12
00:00:21,279 –> 00:00:22,800
streamer انجام می دهیم که یک
13
00:00:22,800 –> 00:00:24,640
چارچوب بسیار قدرتمند و قابل توسعه است
14
00:00:24,640 –> 00:00:26,000
که متخصصان از آن برای
15
00:00:26,000 –> 00:00:27,519
پیشبرد صنعت استفاده می کنند، اما
16
00:00:27,519 –> 00:00:28,240
17
00:00:28,240 –> 00:00:29,920
نترسید gstreamer آن را بسیار ساخته است انجام برخی از کارهای
18
00:00:29,920 –> 00:00:31,439
بسیار چشمگیر آسان است و
19
00:00:31,439 –> 00:00:32,960
20
00:00:32,960 –> 00:00:33,760
21
00:00:33,760 –> 00:00:35,680
اگر هر زمانی از
22
00:00:35,680 –> 00:00:37,120
این سخنرانی عقب افتادید، نگران نباشید،
23
00:00:37,120 –> 00:00:38,480
من یک نسخه متنی از سخنرانی
24
00:00:38,480 –> 00:00:40,160
در دسترس دارم که می توانید آن را ببینید. بعداً
25
00:00:40,160 –> 00:00:42,840
و باید پیوندی به آن در
26
00:00:42,840 –> 00:00:44,360
توضیحات
27
00:00:44,360 –> 00:00:47,280
[موسیقی] وجود داشته باشد،
28
00:00:47,280 –> 00:00:48,800
بیایید با نصب همه چیزهایی
29
00:00:48,800 –> 00:00:50,719
که برای استفاده از استریمر g با پایتون نیاز داریم شروع کنیم،
30
00:00:50,719 –> 00:00:52,559
این احتمالاً سختترین قسمت است، بنابراین
31
00:00:52,559 –> 00:00:54,079
اگر قبل از صحبت موفق به انجام این کار شوید
32
00:00:54,079 –> 00:00:55,840
، همه چیز راحت است. در اینجا
33
00:00:55,840 –> 00:00:57,520
اگر n نگران نباشید، در اینجا
34
00:00:57,520 –> 00:00:59,039
نحوه نصب همه چیز در ویندوز 10 را پوشش خواهیم داد،
35
00:00:59,039 –> 00:00:59,840
36
00:00:59,840 –> 00:01:01,840
من توصیه می کنم
37
00:01:01,840 –> 00:01:03,280
نسخه متنی این سخنرانی را باز کنید
38
00:01:03,280 –> 00:01:04,559
زیرا من پیوندهایی به مواردی
39
00:01:04,559 –> 00:01:06,080
که دانلود خواهیم کرد و احتمالاً
40
00:01:06,080 –> 00:01:07,680
می خواهید برای کپی و چسباندن تعدادی از دستورات طولانی
41
00:01:07,680 –> 00:01:08,960
که اجرا میکنیم،
42
00:01:08,960 –> 00:01:10,799
اگر روی سیستم عامل مک یا لینوکس اجرا
43
00:01:10,799 –> 00:01:12,159
میکنید، دستورالعملهای جداگانهای برای
44
00:01:12,159 –> 00:01:13,439
نحوه نصب همه چیز برای آن
45
00:01:13,439 –> 00:01:15,040
پلتفرمها و همچنین
46
00:01:15,040 –> 00:01:16,560
ما از یک ابزار استفاده میکنیم. به نام
47
00:01:16,560 –> 00:01:18,720
msys2 برای دانلود و نصب همه چیزهایی
48
00:01:18,720 –> 00:01:19,439
که نیاز داریم
49
00:01:19,439 –> 00:01:21,119
msys2 راه اندازی
50
00:01:21,119 –> 00:01:23,119
محیط های توسعه را در ویندوز
51
00:01:23,119 –> 00:01:24,720
آسان می کند. آخرین نسخه پایدار
52
00:01:24,720 –> 00:01:28,400
msys2 را از صفحه انتشار دانلود کنید
53
00:01:30,799 –> 00:01:32,880
سپس نصب کننده را اجرا کنید و همه
54
00:01:32,880 –> 00:01:34,479
پیش فرض ها
55
00:01:34,479 –> 00:01:41,840
را بپذیرد اما علامت run msys2 را در پایان
56
00:01:45,680 –> 00:01:48,739
[Music] بردارید
57
00:01:55,330 –> 00:01:56,640
[ Music]
58
00:01:56,640 –> 00:02:00,399
پس از نصب، msys2 mingw
59
00:02:00,399 –> 00:02:02,960
64 بیتی را از منوی استارت شروع کنید، مطمئن شوید
60
00:02:02,960 –> 00:02:05,680
که از هیچ یک از گزینه های دیگر msys2 استفاده نکنید،
61
00:02:05,680 –> 00:02:09,360
این ترمینال msys2 باز می شود،
62
00:02:09,360 –> 00:02:11,599
بیایید impsys2 را با اجرای
63
00:02:11,599 –> 00:02:14,160
دستور زیر به روز کنیم
64
00:02:14,160 –> 00:02:20,000
[Music ]
65
00:02:20,000 –> 00:02:22,000
پس از اتمام این دستور ممکن است نیاز
66
00:02:22,000 –> 00:02:24,000
به بسته شدن داشته باشد فقط دوباره آن را باز
67
00:02:24,000 –> 00:02:24,740
کنید
68
00:02:24,740 –> 00:02:35,090
[Music]
69
00:02:35,200 –> 00:02:36,959
اکنون ما آماده هستیم تا هر آنچه را که
70
00:02:36,959 –> 00:02:38,400
نیاز داریم
71
00:02:38,400 –> 00:02:42,000
نصب کنیم.
72
00:02:42,000 –> 00:02:45,840
73
00:02:48,720 –> 00:02:50,160
برای اینکه همه چیز
74
00:02:50,160 –> 00:02:52,239
نصب شود، بیایید یک قدم به عقب برداریم،
75
00:02:52,239 –> 00:02:54,239
یک محقق فرزانه یک بار گفت قبل از
76
00:02:54,239 –> 00:02:55,519
رمزگشایی ویدیو،
77
00:02:55,519 –> 00:02:58,239
باید ویدیو را درک کنید که
78
00:02:58,239 –> 00:02:59,120
79
00:02:59,120 –> 00:03:05,840
باید ویدیو
80
00:03:06,239 –> 00:03:08,159
در سطح بنیادی باشد.
81
00:03:08,159 –> 00:03:10,480
82
00:03:10,480 –> 00:03:12,159
دیگری
83
00:03:12,159 –> 00:03:14,000
با سرعت آنقدر بالا که چشمان
84
00:03:14,000 –> 00:03:15,920
ما آن را به عنوان یک عکس متحرک ببینند،
85
00:03:15,920 –> 00:03:18,080
بسیار ساده است، خوب، فقط
86
00:03:18,080 –> 00:03:19,040
یک مشکل
87
00:03:19,040 –> 00:03:20,560
ذخیره این هزاران و
88
00:03:20,560 –> 00:03:22,319
هزاران تصویر، فضای بسیار زیادی را
89
00:03:22,319 –> 00:03:23,440
اشغال می کند،
90
00:03:23,440 –> 00:03:25,280
یک ویدیوی 10 دقیقه ای یوتیوب به طور متوسط
91
00:03:25,280 –> 00:03:28,159
یش از 100 تصویر نیاز دارد. گیگابایت فضای ذخیره سازی
92
00:03:28,159 –> 00:03:29,680
و یک فیلم بلند می تواند
93
00:03:29,680 –> 00:03:31,599
بیش از یک ترابایت طول بکشد، جایی که ما
94
00:03:31,599 –> 00:03:33,760
از این جنون فرار
95
00:03:33,760 –> 00:03:36,080
می کنیم، خوشبختانه ریاضیدانان و
96
00:03:36,080 –> 00:03:37,760
دانشمندان کامپیوتر بسیار باهوش را یافته اند. و
97
00:03:37,760 –> 00:03:39,920
روشهای پیچیده برای فشردهسازی
98
00:03:39,920 –> 00:03:42,000
دادههای ویدیویی تا کسری از اندازه اصلی آن،
99
00:03:42,000 –> 00:03:42,720
100
00:03:42,720 –> 00:03:44,239
این محققان کار خود را
101
00:03:44,239 –> 00:03:45,920
به استانداردهایی تبدیل کردهاند که
102
00:03:45,920 –> 00:03:47,920
دقیقاً نحوه عملکرد فناوری آنها و
103
00:03:47,920 –> 00:03:49,760
نحوه رمزگشایی دادههای ویدیویی فشردهشده به
104
00:03:49,760 –> 00:03:51,680
این روش را که
105
00:03:51,680 –> 00:03:53,200
ما به این استانداردها قالبهای فشردهسازی ویدیو میگوییم، تعریف
106
00:03:53,200 –> 00:03:55,360
میکنند. و برخی از
107
00:03:55,360 –> 00:03:56,080
محبوبترینها عبارتند از
108
00:03:56,080 –> 00:04:00,080
h.264 vp8 و av1 در میان بسیاری
109
00:04:00,080 –> 00:04:02,879
دیگر، در حالی که سایر افراد باهوش
110
00:04:02,879 –> 00:04:04,319
باید بفهمند که چگونه
111
00:04:04,319 –> 00:04:06,159
دادههای ویدئوی فشرده شده باید در
112
00:04:06,159 –> 00:04:07,200
یک فایل ویدئویی ذخیره شوند
113
00:04:07,200 –> 00:04:09,040
یا به قطعات تقسیم شوند و از
114
00:04:09,040 –> 00:04:10,879
طریق اینترنت پخش شوند.
115
00:04:10,879 –> 00:04:12,959
توسعه فرمتهای ویژهای که
116
00:04:12,959 –> 00:04:14,080
هم دادههای ویدئوی فشردهشده
117
00:04:14,080 –> 00:04:16,478
و هم اطلاعات اضافی مانند
118
00:04:16,478 –> 00:04:17,600
عنوان
119
00:04:17,600 –> 00:04:20,478
ویدیو و موارد دیگر را در خود نگه میدارد، ما
120
00:04:20,478 –> 00:04:22,160
این فرمتهای کانتینری را مینامیم
121
00:04:22,160 –> 00:04:24,800
و برخی از محبوبترینها شامل mpeg4 و
122
00:04:24,800 –> 00:04:26,320
webm هستند،
123
00:04:26,320 –> 00:04:28,720
بنابراین در نهایت از یک دوربین ویدیویی برای
124
00:04:28,720 –> 00:04:29,840
چیزی را ضبط کنید که
125
00:04:29,840 –> 00:04:31,759
آن تصاویر خام در
126
00:04:31,759 –> 00:04:33,199
قالب فشرده سازی ویدیو فشرده می شوند
127
00:04:33,199 –> 00:04:34,800
و پس از اتمام فیلم شما
128
00:04:34,800 –> 00:04:36,720
بسته می شود با یک کمان کوچک زیبا با استفاده
129
00:04:36,720 –> 00:04:38,479
از فرمت کانتینر،
130
00:04:38,479 –> 00:04:40,320
اکنون فایل ویدیویی آماده است تا
131
00:04:40,320 –> 00:04:42,000
در رایانه شما ذخیره شود یا
132
00:04:42,000 –> 00:04:45,199
برای همه دنیا پخش شود،
133
00:04:45,199 –> 00:04:47,199
بنابراین اکنون که می دانیم ویدیو چگونه کار می کند،
134
00:04:47,199 –> 00:04:48,960
می توانیم شروع کنیم به درک اینکه چگونه gstreamer به
135
00:04:48,960 –> 00:04:50,240
ما اجازه می دهد با آن کار کنیم.
136
00:04:50,240 –> 00:04:52,000
کار با gstreamer به نوعی مانند
137
00:04:52,000 –> 00:04:54,639
ایجاد یک خط مونتاژ در یک کارخانه است که
138
00:04:54,639 –> 00:04:56,400
هر مرحله در خط مونتاژ
139
00:04:56,400 –> 00:04:57,919
وظیفه انجام یک کار را دارد
140
00:04:57,919 –> 00:04:59,840
و نتایج یک مرحله
141
00:04:59,840 –> 00:05:00,960
به مرحله بعدی منتقل می شود
142
00:05:00,960 –> 00:05:03,440
تا زمانی که فرآیند کامل شود
143
00:05:03,440 –> 00:05:04,880
gstreamer این خط مونتاژ را فراخوانی می کند. یک
144
00:05:04,880 –> 00:05:07,120
خط لوله و مراحل به عنوان عناصر شناخته می شوند که
145
00:05:07,120 –> 00:05:08,720
146
00:05:08,720 –> 00:05:10,400
هر خط لوله با یک عنصر منبع شروع می شود
147
00:05:10,400 –> 00:05:12,560
تعدادی عنصر دارد
148
00:05:12,560 –> 00:05:14,080
که داده ها را در وسط پردازش می کند
149
00:05:14,080 –> 00:05:16,960
و به یک عنصر همگام سازی ختم می شود.
150
00:05:16,960 –> 00:05:18,560
عنصر منبع مسئول دریافت
151
00:05:18,560 –> 00:05:20,000
داده های ویدیویی از جایی
152
00:05:20,000 –> 00:05:22,000
مانند یک فایل روی شما است. رایانه یا یک
153
00:05:22,000 –> 00:05:23,600
جریان ویدیویی که به صورت آنلاین میزبانی می شود
154
00:05:23,600 –> 00:05:25,360
که داده ها به عنصر بعدی منتقل می
155
00:05:25,360 –> 00:05:26,960
شود که برخی از پردازش ها را
156
00:05:26,960 –> 00:05:27,520
روی داده ها انجام می دهد
157
00:05:27,520 –> 00:05:29,120
و نتیجه به عنصر بعدی
158
00:05:29,120 –> 00:05:31,600
در خط لوله ارسال می شود. و به همین ترتیب در
159
00:05:31,600 –> 00:05:33,440
نهایت دادههای کاملاً پردازششده
160
00:05:33,440 –> 00:05:34,960
به عنصر همگامسازی منتقل میشوند
161
00:05:34,960 –> 00:05:36,479
که مراقبت میکند دادهها را
162
00:05:36,479 –> 00:05:38,560
در جایی در دسترس قرار دهد که ممکن است شامل
163
00:05:38,560 –> 00:05:40,000
ذخیره آن در رایانه شما
164
00:05:40,000 –> 00:05:42,240
میزبان آن بهعنوان یک جریان ویدیویی زنده یا
165
00:05:42,240 –> 00:05:44,880
ارسال مجدد آن به برنامه شما باشد.
166
00:05:44,880 –> 00:05:46,880
gstreamer دارای بسیاری از موارد است. عناصری که
167
00:05:46,880 –> 00:05:48,479
انواع مختلفی از کارها را انجام میدهند،
168
00:05:48,479 –> 00:05:50,320
هر یک نامی دارند که ما به آنها اشاره میکنیم
169
00:05:50,320 –> 00:05:52,400
و قوانین خاصی که بر
170
00:05:52,400 –> 00:05:54,479
نوع دادههایی که میتواند به عنوان ورودی بگیرد
171
00:05:54,479 –> 00:05:56,880
و چه چیزی بهعنوان خروجی تولید میکند، اکنون
172
00:05:56,880 –> 00:05:58,479
با کنار هم قرار دادن یکی از این خطوط لوله
173
00:05:58,479 –> 00:06:00,560
ممکن است سخت به نظر برسد، اما بسیار ساده است. این کار را
174
00:06:00,560 –> 00:06:01,600
بسیار آسان
175
00:06:01,600 –> 00:06:03,759
می کند تنها کاری که باید انجام دهید این است که به gstreamer یک
176
00:06:03,759 –> 00:06:05,680
رشته بدهید که نام هر عنصری را
177
00:06:05,680 –> 00:06:06,880
که می خواهید در خط لوله خود
178
00:06:06,880 –> 00:06:08,800
با علامت تعجب از هم جدا شده است بدهید و
179
00:06:08,800 –> 00:06:10,880
همین است که g streamer از
180
00:06:10,880 –> 00:06:12,400
ایجاد این عناصر و اتصال
181
00:06:12,400 –> 00:06:13,199
آنها به یکدیگر مراقبت
182
00:06:13,199 –> 00:06:14,880
می کند و شما. یک خط لوله کاملاً شکل گرفته برای خود دارید،
183
00:06:14,880 –> 00:06:17,360
184
00:06:17,759 –> 00:06:19,520
بنابراین با تمام این
185
00:06:19,520 –> 00:06:21,759
مقدمه، اجازه دهید وارد کد
186
00:06:21,759 –> 00:06:23,440
شویم تا به نوعی
187
00:06:23,440 –> 00:06:25,600
ویرایشگر متن نیاز داشته باشید. کد بنویسید البته
188
00:06:25,600 –> 00:06:27,680
من از کد ویژوال استودیو در اینجا
189
00:06:27,680 –> 00:06:29,039
استفاده می کنم اما می توانید از هر چیزی که دوست دارید استفاده کنید
190
00:06:29,039 –> 00:06:32,880
حتی دفترچه یادداشت خوب است بنابراین من
191
00:06:32,880 –> 00:06:35,280
یک پوشه را در اینجا باز می کنم و
192
00:06:35,280 –> 00:06:36,319
193
00:06:36,319 –> 00:06:39,120
اگر روی این رایانه کلیک کنید و کد خود را در زیر قرار می دهیم به
194
00:06:39,120 –> 00:06:40,520
c
195
00:06:40,520 –> 00:06:44,319
msys64 home بروید و سپس این دایرکتوری می گوید
196
00:06:44,319 –> 00:06:45,919
tyler in my case اما
197
00:06:45,919 –> 00:06:47,280
چیز دیگری برای شما می گوید
198
00:06:47,280 –> 00:06:50,080
مگر اینکه نام شما tyler باشد من حدس می زنم اوم و
199
00:06:50,080 –> 00:06:52,080
سپس من می خواهم یک دایرکتوری جدید
200
00:06:52,080 –> 00:06:54,560
در اینجا ایجاد
201
00:06:54,800 –> 00:06:57,160
کنم و می خواهم تماس بگیرم این
202
00:06:57,160 –> 00:06:58,319
gstreamerlearning است
203
00:06:58,319 –> 00:07:01,440
اما شما می توانید آن را هر طور که دوست دارید صدا کنید
204
00:07:01,440 –> 00:07:03,759
و سپس من آن پوشه را
205
00:07:03,759 –> 00:07:05,199
برای کار در آنجا انتخاب می کنم
206
00:07:05,199 –> 00:07:07,599
و سپس یک فایل جدید ایجاد می
207
00:07:07,599 –> 00:07:11,440
کنم و آن را main.pi می نامم
208
00:07:11,440 –> 00:07:13,759
تا در حال نوشتن هستیم در پایتون اما
209
00:07:13,759 –> 00:07:15,120
gstreamer یک کتابخانه c است،
210
00:07:15,120 –> 00:07:16,639
بنابراین ما از چیزی به
211
00:07:16,639 –> 00:07:18,960
نام binding استفاده می کنیم و binding فقط یک آداپتور کوچک است
212
00:07:18,960 –> 00:07:19,759
213
00:07:19,759 –> 00:07:22,560
که به شما اجازه می دهد از یک
214
00:07:22,560 –> 00:07:24,319
کتابخانه از یک زبان
215
00:07:24,319 –> 00:07:26,240
در زبان دیگر استفاده کنید و تمام
216
00:07:26,240 –> 00:07:28,240
تبدیل های لازم را انجام می دهد. برای اینکه
217
00:07:28,240 –> 00:07:29,280
همه کار کنند
218
00:07:29,280 –> 00:07:31,599
و نام اتصالاتی که
219
00:07:31,599 –> 00:07:33,919
از f استفاده می کنیم یا gstreamer شی pig نامیده می
220
00:07:33,919 –> 00:07:36,479
شود و ما می توانیم شی pig را با
221
00:07:36,479 –> 00:07:36,960
اجرای
222
00:07:36,960 –> 00:07:41,280
import gi وارد کنیم بنابراین gi به شی pig اشاره دارد
223
00:07:41,280 –> 00:07:43,120
که در واقع یک اتصال برای
224
00:07:43,120 –> 00:07:44,720
چند کتابخانه مختلف است نه فقط g
225
00:07:44,720 –> 00:07:46,400
streamer بنابراین ما هنوز با g streamer صحبت نمی کنیم.
226
00:07:46,400 –> 00:07:48,720
قبل از اینکه این کار را انجام دهیم
227
00:07:48,720 –> 00:07:50,639
باید به شی pig بگوییم
228
00:07:50,639 –> 00:07:52,319
حداقل نسخه g استریمر
229
00:07:52,319 –> 00:07:54,720
مورد نیاز برنامه ما چقدر است، بنابراین این کار را
230
00:07:54,720 –> 00:07:56,840
با انجام نسخه نیاز به gi dot انجام می دهیم
231
00:07:56,840 –> 00:07:59,680
و سپس به آن می گوییم که کدام
232
00:07:59,680 –> 00:08:01,280
کتابخانه مورد علاقه ما است که کدام استریمر g است.
233
00:08:01,280 –> 00:08:01,919
234
00:08:01,919 –> 00:08:03,759
is در این مورد به gst کوتاه می
235
00:08:03,759 –> 00:08:05,360
شود
236
00:08:05,360 –> 00:08:07,440
و سپس حداقل نسخه ای که ما نیاز داریم 1.0 است،
237
00:08:07,440 –> 00:08:10,080
238
00:08:10,080 –> 00:08:11,599
حالا که ما انجام دادیم، می توانیم
239
00:08:11,599 –> 00:08:13,520
gstreamer را وارد کنیم، بنابراین این کار را با
240
00:08:13,520 –> 00:08:14,400
اجرای از
241
00:08:14,400 –> 00:08:19,120
مخزن gi dot import gst انجام می
242
00:08:19,120 –> 00:08:20,720
دهیم، حالا بالاخره g streamer را دریافت کردیم و می توانیم
243
00:08:20,720 –> 00:08:22,160
در حال انجام برخی از کارهای gstreamer باشید
244
00:08:22,160 –> 00:08:23,440
و اولین کاری که همیشه
245
00:08:23,440 –> 00:08:26,000
باید انجام دهید این است که gst.init را فراخوانی کنید
246
00:08:26,000 –> 00:08:27,759
که فقط به مقداردهی اولیه
247
00:08:27,759 –> 00:08:29,360
وضعیت در پسزمینه کمک میکند که
248
00:08:29,360 –> 00:08:30,879
نیازی نیست خیلی به آن اهمیت بدهیم،
249
00:08:30,879 –> 00:08:32,240
اما واقعا مهم است که آن را فراخوانی کنید.
250
00:08:32,240 –> 00:08:34,159
قبل از انجام هر کاری به این دلیل
251
00:08:34,159 –> 00:08:35,839
که اگر این کار را نکنید، خطاهای عجیبی دریافت خواهید کرد،
252
00:08:35,839 –> 00:08:37,919
پس بیایید
253
00:08:37,919 –> 00:08:39,360
این را اجرا کنیم تا مطمئن شویم که
254
00:08:39,360 –> 00:08:41,039
محیط ما به درستی تنظیم شده است،
255
00:08:41,039 –> 00:08:44,320
بنابراین من می خواهم msys2 mingw
256
00:08:44,320 –> 00:08:47,120
64 بیتی را شروع کنم
257
00:08:47,440 –> 00:08:50,320
و سپس می خواهم بروم برای رفتن به
258
00:08:50,320 –> 00:08:52,399
دایرکتوری که من کد را در
259
00:08:52,399 –> 00:08:55,519
آن ذخیره می کنم، سی دی را اجرا می کنم و سپس
260
00:08:55,519 –> 00:08:56,640
نام دایرکتوری را که اسم آن
261
00:08:56,640 –> 00:09:00,880
را g streamer learning گذاشتم
262
00:09:01,279 –> 00:09:03,120
و اگر ls را اجرا کنید، می توانید ببینید چه چیزی
263
00:09:03,120 –> 00:09:04,399
در دایرکتوری است و ما می توانیم ببینیم
264
00:09:04,399 –> 00:09:07,040
نقطه اصلی ما برای اجرای آن
265
00:09:07,040 –> 00:09:08,200
فقط باید
266
00:09:08,200 –> 00:09:10,800
python3 و سپس نام فایل
267
00:09:10,800 –> 00:09:13,200
main.pi
268
00:09:13,200 –> 00:09:14,480
را اجرا کنم و واقعاً کاری انجام نمی دهد
269
00:09:14,480 –> 00:09:16,320
زیرا
270
00:09:16,320 –> 00:09:17,120
هنوز کد زیادی اضافه نکرده ایم اما
271
00:09:17,120 –> 00:09:18,480
هیچ خطایی وجود ندارد. من آن را
272
00:09:18,480 –> 00:09:20,560
موفقیت می نامم، بنابراین کار بعدی که باید
273
00:09:20,560 –> 00:09:22,399
انجام دهیم این است که حلقه اصلی را شروع کنیم
274
00:09:22,399 –> 00:09:23,839
و حلقه اصلی مسئول
275
00:09:23,839 –> 00:09:26,000
انتقال برخی رویدادها و
276
00:09:26,000 –> 00:09:27,760
انجام برخی عملیات در پس زمینه
277
00:09:27,760 –> 00:09:29,600
است که به gstreamer می گوییم