آموزش مدیریت Recording در BigBlueButton
آموزش مدیریت Recording در BigBlueButton
BigBlueButton تمام رویدادها و داده های رسانه تولید شده در طول جلسه BigBlueButton را برای پخش بعدی ضبط می کند.
اگر میخواهید قابلیت ضبط و پخش (RaP) را در عمل ببینید، یک نسخه نمایشی وجود دارد که در آن میتوانید یک جلسه BigBlueButton را ضبط کنید و پس از اینکه در قسمت «جلسات ضبطشده» در همان صفحه فهرست شد، آن را پخش کنید. این دمو در صورت نصب روی سرور شما نیز موجود است. پردازش و انتشار رسانه برای پخش پس از پایان جلسه ممکن است چند دقیقه طول بکشد.
مانند جلسات BigBlueButton، مدیریت ضبط ها باید توسط نرم افزار شخص ثالث انجام شود. نرم افزار شخص ثالث برای انجام این کار از BigBlueButton API استفاده می کند. به عنوان یک کاربر، ممکن است بخواهید از نرم افزار شخص ثالثی استفاده کنید که مقدار مناسبی را برای پارامتر “record” تنظیم می کند. به عنوان یک توسعه دهنده، ممکن است بخواهید از یک کتابخانه (غیر رسمی) استفاده کنید که فراخوانی های API را به زبان دلخواه شما اجرا می کند یا خودتان آن را پیاده سازی کنید.
از نقطه نظر فنی، در BigBlueButton API، هنگامی که پارامتر را record=true
با create ارسال می کنید ، BigBlueButton جلسه ای ایجاد می کند که ضبط آن فعال است. در این حالت، یک دکمه جدید به نوار ابزار در بالای پنجره با نماد دایره ای اضافه می کند که ناظر در جلسه می تواند از آن برای نشان دادن بخش هایی از جلسه برای ضبط کردن استفاده کند.
در جلسهای که ضبط فعال است، BigBlueButton اسلایدها، چت، صدا، اشتراکگذاری دسکتاپ (deskshare)، رویدادهای تخته سفید، یادداشتهای مشترک، شرحها، نتایج نظرسنجی و وبکمها را برای پردازش بعدی ذخیره میکند. این روش منحصربهفرد برای ضبط یک جلسه است، زیرا این امکان را برای گردشهای کاری مختلف فراهم میکند تا ضبطهایی با ویژگیهای مختلف ایجاد کنند و رسانهها را به روشهای منحصربهفردی ترکیب کنند.
پس از اتمام جلسه، سرور BigBlueButton یک اسکریپت بایگانی را اجرا می کند که همه فایل های مرتبط را در یک فهرست واحد کپی می کند. سپس بررسی میکند که ببیند آیا مدیر در طول جلسه روی دکمه «ضبط» کلیک کرده است تا بخشی از جلسه را که باید به ضبط تبدیل شود، نشان دهد. اگر در طول جلسه روی دکمه ضبط کلیک نشد، فایل ها در صف قرار می گیرند تا پس از دو هفته حذف شوند. (شما می توانید این مورد را لغو کنید و ضبط را مجبور به پردازش کنید؛ bbb-record --rebuild
این دستور را ببینید.)
پس از بایگانی ضبط، BigBlueButton یک (یا چند) اسکریپت دریافت و پردازش را اجرا میکند که نام آنها گردش کار است، که دادههای گرفتهشده را پردازش و در قالبی برای پخش منتشر میکند.
مراحل ضبط و پخش
BigBlueButton ضبط ها را به ترتیب زیر پردازش می کند:
- Capture
- Archive
- Sanity
- Process
- Publish
- Playback
Capture
مرحله ضبط شامل فعال کردن ماژول های BigBlueButton (چت، ارائه، ویدئو، صدا و غیره) برای انتشار رویدادها از طریق یک اتوبوس (bus) رویداد برای ضبط در سرور BigBlueButton است. مؤلفه هایی که رسانه تولید می کنند (وب کم، صدا، اشتراک دسکتاپ) نیز باید جریان داده های خود را در سرور ذخیره کنند.
تخته سفید، مکان نما، چت و رویدادهای دیگر در Redis ذخیره می شوند. ویدیوهای وب کم (flv.) و ویدیوهای deskshare (flv.) توسط Red5 ضبط می شوند. فایل کنفرانس صوتی (.wav) توسط FreeSWITCH ضبط شده است. یادداشتها و زیرنویسهای مشترک از Etherpad گرفته شدهاند.
Archive
مرحله آرشیو شامل قرار دادن رسانه ها و رویدادهای ضبط شده در یک فهرست خام است. آن دایرکتوری حاوی تمام رسانه ها و فایل های لازم برای کار است.
Sanity
مرحله Sanity شامل بررسی معتبر بودن تمام فایل های آرشیو شده برای پردازش است. به عنوان مثال که طول فایل های رسانه ای صفر نیست و رویدادها بایگانی شدند.
Process
مرحله Process شامل پردازش فایل های آرشیو شده معتبر ضبط مطابق با گردش کار (به عنوان مثال، ارائه). معمولاً شامل تجزیه رویدادهای بایگانی شده، تبدیل فایل های رسانه ای به فرمت های دیگر یا به هم پیوستن آنها و غیره است.
Publish
مرحله انتشار شامل تولید ابرداده و گرفتن بسیاری یا همه فایل های پردازش شده و قرار دادن آنها در فهرستی است که برای پخش بعدی به صورت عمومی در معرض دید قرار می گیرد.
Post-Scripts
پست اسکریپت ها به شما این امکان را می دهند که پس از هر یک از مراحل Archive، Process و Publish از پردازش ضبط، اقدامات مربوط به سایت را انجام دهید.
چند نمونه از کارهایی که ممکن است از پست اسکریپت ها برای انجام آنها استفاده کنید:
- پس از انتشار یک فایل ضبط شده، یک ایمیل برای شما ارسال شود.
- پس از بایگانی یا انتشار فایل ضبط شده، در سرور دیگری پشتیبان بگیرید.
- پس از انتشار یک فایل ضبط شده، پیامک ارسال کنید.
- فایل های رسانه ای را فشرده کنید و پس از انتشار آن ها را برای دانلود در دسترس عموم قرار دهید.
پس از اتمام پردازش ضبط، فایل های رسانه خام را حذف کنید.
Playback
مرحله پخش شامل گرفتن فایلهای منتشر شده (صوت، وبکم، اشتراک رومیزی، چت، رویدادها، یادداشتها، زیرنویسها، نظرسنجیها، ابرداده) و پخش آنها در مرورگر است.
با استفاده از ارائه گردش کار ، پخش توسط کتابخانه های HTML، CSS و جاوا اسکریپت مدیریت می شود. این به طور کامل در موزیلا فایرفاکس و گوگل کروم (همچنین در دستگاه های اندرویدی) موجود است. در مرورگرهای دیگر مانند Opera یا Safari، پخش بدون تمام قابلیتهای آن کار میکند، به عنوان مثال، تصاویر کوچک نشان داده نمیشوند. یک فایل ویدئویی منحصر به فرد برای پخش وجود ندارد، دکمه یا پیوندی برای دانلود ضبط وجود ندارد.
ذخیره سازی رسانه
برخی از مراحل ضبط و پخش، رسانه ای را که مدیریت می کنند در فهرست های مختلف ذخیره می کنند:
فایل های ضبط شده
- AUDIO:
/var/freeswitch/meetings
- WEBCAM (Flash):
/usr/share/red5/webapps/video/streams
- WEBCAM (HTML5):
/var/kurento/recordings
- SCREEN SHARING (Flash):
/var/usr/share/red5/webapps/screenshare/streams
- SCREEN SHARING (HTML5):
/var/kurento/screenshare
- SLIDES:
/var/bigbluebutton
- NOTES:
http://localhost:9001/p
(port 9002 on BBB 2.5+) - EVENTS:
Redis
فایل های آرشیو شده
فایل آرشیو شده در مسیر <var/bigbluebutton/recording/raw/<internal-meeting-id/ دارد.
فایل های بررسی شده sanity
فایل های sanity در همان مکانی که فایل های آرشیو شده وجود دارند، ذخیره می شوند.
فایل های پردازش شده
فایل های پردازش شده را می توان در مسیر <var/bigbluebutton/recording/process/presentation/<internal-meeting-id/ پیدا کرد
.
فایل های منتشر شده
فایل های منتشر شده در مسیر <var/bigbluebutton/recording/publish/presentation/<internal-meeting-id/
قرار دارند.
پخش فایل ها
فایل های پخش هم در مسیر <var/bigbluebutton/published/presentation/<internal-meeting-id/ قرار دارند
.
ضبط ها را مدیریت کنید
BigBlueButton یک رابط وب مدیر برای کنترل جلسات یا ضبطها ندارد زیرا در هر دو مورد آنها توسط نرمافزار شخص ثالث مدیریت میشوند، اما ابزار مفیدی برای نظارت بر وضعیت و کنترل ضبطهای شما از طریق مراحل توضیح داده شده در بالا دارد.
در ترمینال سرور خود می توانید اجرا کنید bbb-record
که هر گزینه را با توضیحات آن به شما نشان می دهد:
BigBlueButton Recording Diagnostic Utility (BigBlueButton Version 2.5.N)
bbb-record [options]
Reporting:
--list List all recordings
--list-recent List recent recordings
--list-recent --withDesc List recent recordings and show their description
--list-workflows List available recording workflows
Monitoring:
--watch Watch processing of recordings
--watch --withDesc Watch processing of recordings and show their description
Administration:
--rebuild <internal meetingID> rebuild the output for the given internal meetingID
--rebuildall rebuild every recording
--delete <internal meetingID> delete one meeting and recording
--deleteall delete all meetings and recordings
--debug check for recording errors
--check check for configuration errors
--enable <workflow> enable a recording workflow
--disable <workflow> disable a recording workflow
--tointernal <external meetingId> get the internal meeting ids for the given external meetingId
--toexternal <internal meetingId> get the external meeting id for the given internal meetingId
--republish <internal meetingID> republish the recording for meetingID.
(Only for Matterhorn Integration)
تنظیمات مفید
نام | مسیر (پرونده) | شرح |
---|---|---|
وبکمهاOnlyForModerator | usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties | اگر درست باشد، بسته به نحوه پخش، فقط دوربین مدیر نمایش داده می شود show_moderator_viewpoint . در جلسه جاری قابل تغییر است |
show_moderator_viewpoint | usr/local/bigbluebutton/core/scripts/bigbluebutton.yml | اگر نادرست باشد، دیدگاه بیننده نشان داده می شود، به این معنی که اگر ویژگی فوق روی true باشد، فقط دوربین مدیر نمایش داده می شود. |
لیست های ضبط شده
bbb-record <span class="nt">--list</span>
تمام ضبط های شما را لیست می کند.
ضبط های اخیر را فهرست کنید
bbb-record <span class="nt">--list-recent</span>
10 ضبط اخیر را لیست خواهد کرد.
فهرست گردش کار
مراحل پردازش ضبط فعال و اسکریپت های پردازش موجود را فهرست می کند. در صورتی که میخواهید اشکالزدایی کنید چرا ضبطها در قالب خاصی پردازش نمیشوند، این ممکن است بینشهای ارزشمندی ارائه دهد.
bbb-record <span class="nt">--list-workflows</span>
<span class="c"> Enabled recording processing steps:</span>
<span class="c">#</span>
<span class="c"> archive</span>
<span class="c"> sanity</span>
<span class="c"> captions</span>
<span class="c"> process:presentation</span>
<span class="c"> publish:presentation</span>
<span class="c">#</span>
<span class="c"> Available processing scripts: </span>
<span class="c">#</span>
<span class="c"> presentation</span>
ضبط ها را تماشا کنید
bbb-record <span class="nt">--watch</span>
آخرین ضبط شما را فهرست می کند و هر 2 ثانیه خروجی را تازه می کند. همانطور که BigBlueButton یک ضبط را پردازش می کند، به روز رسانی ها را از سرویس های پس زمینه مشاهده خواهید کرد.
Every 2.0s: bbb-record <span class="nt">--list-recent</span>
Internal MeetingID Time APVD APVDE RAS Slides Processed Published Ext. Meeting ID
<span class="nt">-------------------------------------------</span> <span class="nt">----</span> <span class="nt">-----</span> <span class="nt">---</span> <span class="nt">------</span> <span class="nt">---------</span> <span class="nt">---------</span> <span class="nt">---------------</span>
29173583...1508b2efd7-1647630316965 Mar 18 X XX X XX 7 pres. pres. English 102
6e35e3b2...f5db637d7a-1538942881350 Oct 7 X X X 6 pres. English 101
9e468g2k...hij43b5d8b-1538941988186 Oct 7 XX XX X 9 pres. Demo Meeting
<span class="nt">--</span>
0 timers listed.
<span class="nt">--</span>
● bbb-rap-starter.service - BigBlueButton recording processing starter
Loaded: loaded <span class="o">(</span>/usr/lib/systemd/system/bbb-rap-starter.service<span class="p">;</span> enabled<span class="p">;</span> vendor preset: enabled<span class="o">)</span>
Active: active <span class="o">(</span>running<span class="o">)</span> since Tue 2022-03-01 18:27:19 CET<span class="p">;</span> 2 weeks 0 days ago
Main PID: 3509 <span class="o">(</span>rap-starter.rb<span class="o">)</span>
Tasks: 2 <span class="o">(</span>limit: 4915<span class="o">)</span>
CGroup: /bbb_record_core.slice/bbb-rap-starter.service
└─3509 /usr/bin/ruby /usr/local/bigbluebutton/core/scripts/rap-starter.rb
● bbb-rap-resque-worker.service - BigBlueButton resque worker <span class="k">for </span>recordings
Loaded: loaded <span class="o">(</span>/usr/lib/systemd/system/bbb-rap-resque-worker.service<span class="p">;</span> enabled<span class="o">)</span>
Active: active <span class="o">(</span>running<span class="o">)</span> since Tue 2022-03-01 18:27:19 CET<span class="p">;</span> 2 weeks 0 days ago
Main PID: 3847 <span class="o">(</span>sh<span class="o">)</span>
Tasks: 7 <span class="o">(</span>limit: 4915<span class="o">)</span>
CGroup: /system.slice/bbb-rap-resque-worker.service
├─ /usr/bin/rake <span class="nt">-f</span> ../Rakefile resque:workers <span class="o">>></span> /var/log/bigbluebutton/bbb-rap-worker.log
├─ /usr/bin/ruby /usr/bin/rake <span class="nt">-f</span> ../Rakefile resque:workers
└─ Waiting <span class="k">for </span>rap:archive,rap:publish,rap:process,rap:sanity,rap:captions,rap:events
<span class="nt">--</span>
یک ضبط را دوباره بسازید
این گزینه باعث می شود که یک ضبط دوباره مراحل Process و Publish را طی کند.
اگر bbb-record --rebuild
روی ضبطی اجرا میکنید که در آن اسکریپتهای پردازش و انتشار اجرا نمی شوند، دلیلش این است که ناظر جلسه روی دکمه ضبط کلیک نکرده است،
<span class="nb">sudo </span>bbb-record <span class="nt">--rebuild</span> 29173583cf1ca21508b2efd7db566090bbefb36a-1647630316965
هر ضبط را بازسازی کنید
این گزینه برای هر ضبطی که در سرور شما انجام می شود، دوباره مراحل Process and Publish را طی می کند. در نتیجه ممکن است مدت زیادی طول بکشد تا تمام شود.
<span class="nb">sudo </span>bbb-record <span class="nt">--rebuildall</span>
یک جلسه و ضبط آن را حذف کنید
داده های جلسه (مانند فایل های آپلود شده) و ضبط آن را حذف می کند.
<span class="nb">sudo </span>bbb-record <span class="nt">--delete</span> 29173583cf1ca21508b2efd7db566090bbefb36a-1647630316965
هشدار – این دستور جلسات در حال اجرا را هم پاک می کند!
<var/bigbluebutton/recording/raw/<meetingId/
<var/bigbluebutton/published/presentation/<meetingId/
تمام جلسات و موارد ضبط شده آنها را حذف کنید
تمام داده های مربوط به جلسه (مانند فایل های آپلود شده) و ضبط های آنها را حذف می کند.
<span class="nb">sudo </span>bbb-record <span class="nt">--deleteall</span>
هشدار – این دستور همچنین جلسات در حال اجرا را پاک می کند! فقط برای حذف ضبط های منتشر شده و داده های خام آنها، همه ورودی های زیر را حذف کنید
/var/bigbluebutton/recording/raw/
/var/bigbluebutton/published/
اشکال زدایی ضبط شده
فایلهای گزارش ضبط را بررسی کنید و از مرحله بایگانی به دنبال خطا باشید.
<span class="nb">sudo </span>bbb-record <span class="nt">--debug</span>
تنظیمات ضبط را بررسی کنید
خطاهای پیکربندی را در BigBlueButton 2.5 و نسخه های جدیدتر بررسی کنید که ممکن است از اجرای صحیح سرویس ضبط جلوگیری کند، مانند بررسی مجوز و مالکیت.
<span class="nb">sudo </span>bbb-record <span class="nt">--check</span>
یک گردش کار را فعال کنید
<span class="nb">sudo </span>bbb-record <span class="nt">--enable</span> presentation
یک گردش کار را غیرفعال کنید
<span class="nb">sudo </span>bbb-record <span class="nt">--disable</span> presentation
شناسه جلسه داخلی را دریافت کنید
<span class="nv">"</span><span class="nb">sudo </span>bbb-record <span class="nt">--tointernal</span> <span class="s2">"English 102</span>
نشان خواهد داد
Internal meeting ids related to the given external meeting id
-------------------------------------------------------------
29173583cf1ca21508b2efd7db566090bbefb36a-1647630316965
از دو نقل قول برای شناسه جلسه خارجی استفاده کنید.
شناسه جلسه خارجی را دریافت کنید
<span class="nb">sudo </span>bbb-record <span class="nt">--toexternal</span> 29173583cf1ca21508b2efd7db566090bbefb36a-1647630316965
External meeting id related to the given internal meeting id
-------------------------------------------------------------
English 102" meetingName="English 102
-------------------------------------------------------------
بازنشر موارد ضبط شده
<span class="nb">sudo </span>bbb-record <span class="nt">--republish</span> 29173583cf1ca21508b2efd7db566090bbefb36a-1647630316965
# آموزش مدیریت Recording در BigBlueButton # آموزش مدیریت Recording در BigBlueButton # آموزش مدیریت Recording در BigBlueButton
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.