Page 1 of 1

Nahrávanie prednášok

Posted: Sat Mar 21, 2020 7:55 am
by Martin Sleziak
Keďže je momentálne prerušená dištančná výuka, nahrávam nejaké prednášky pre študentov. Dajú sa nájsť tu: http://msleziak.com/forum/viewtopic.php?t=1503 http://msleziak.com/forum/viewtopic.php?t=1505 (Zatiaľ tam toho nie je veľa.)
Zvažoval som aj prednášky formou videokonferencie, ale nakoniec som to nechal tak. Z vecí, ktoré som skúšal, sa mi nič nepodarilo dosť spoľahlivo rozchodiť. Navyše ak to robím takto asynchrónne, tak nebudem mať problém napríklad s tým, ak by vypadlo internetové pripojenie práve v čase, keď chcem prednášať.

Pre prípad, že by sa to niekomu hodilo, tak sem napíšem nejaké technické veci k tomu, ako nahrávam. (A samozrejme, ak niekto používa niečo podobné a myslí si, že vie posunúť nejaké užitočné informácie, tak sem tiež môžete napísať.)

Prednášky nahrávam takou formou, že nahrávam obsah obrazovky a zvuk.
Na obrazovke mám zvyčajne buď slajdy (alebo nejaké iné pdf-ko) alebo obrázok, do ktorého píšem pomocou grafického tabletu. (V podstate namiesto tabule.) Asi sa dá použiť v princípe hocijaký kresliaci program, ja som zatiaľ používal GIMP.

Na snímanie obrazovky som použil FFmpeg. Pracujem pod Window, FFmpeg som nainštaloval bez problémov, potreboval som ešte doinštalovať Screen Capturer Recorder.

K používaniu FFmpeg tu napíšem ešte nejaké ďalšie drobnosti na ktoré som narazil. (Ak niekto skúša používať FFmpeg a narazí na nejaké problémy môžete sa mi skúsiť ozvať aj mailom - ale keďže ho vlastne používam iba pár dní, tak neviem, či budem s veľa vecami vedieť poradiť.)
Spoiler:
Pri nahrávaní potrebujem správne nastaviť vstupné zariadenia. Zoznam zariadení, ktoré mám k dispozícií získam takýmto príkazom:

Code: Select all

ffmpeg -list_devices true -f dshow -i dummy
Mal by som v zozname vidieť nejaký mikrofón. Ak som ho správne nainštaloval, mal by som tam vidieť aj screen-capture-recorder.

Základný príkaz na nahrávanie je takýto (samozrejme ako vstup na audio/video treba použiť názvy zariadení, ktoré máte k dispozícii u seba):

Code: Select all

ffmpeg -f dshow -i video="screen-capture-recorder":audio="Microphone (Conexant SmartAudio HD)" output.mkv
ffmpeg -f dshow -i video="screen-capture-recorder":audio="Microphone (Conexant SmartAudio HD)" output.mp4
Dajú sa vybrať aj iné formáty na výstup. Viac tu: Capturing your Desktop / Screen Recording.

Problém, na ktorý som narazil, bol že takto vytvorený súbor prehral napríklad VLCMediaPlayer, nie však iné prehrávače. A hlavne ak som video skúsil nahrať na web (Google Drive, Youtube), tak sa nedalo prehrať priamo tam - t.j. takéto video nevedel prehrať štandardný prehrávač, ktorý používa Google/Youtube.
Pomôže pridanie parametra -vf format=yuv420p (buď priamo pri nahrávaní alebo ak súbor neskôr konvertujem na iný formát) - ako som sa dozvedel tu: Correct Ffmpeg record settings for playing files back in Windows built in players?. (Druhá možnosť je použiť tento parameter pri konvertovaní súboru - viď nižšie.)

Code: Select all

ffmpeg -f dshow -i video="screen-capture-recorder":audio="Microphone (Conexant SmartAudio HD)"  -vf format=yuv420p output.mkv
ffmpeg -f dshow -i video="screen-capture-recorder":audio="Microphone (Conexant SmartAudio HD)"  -vf format=yuv420p output.mp4
Takisto sa ffmpeg dá použiť na konvertovanie medzi rôznymi formátmi. Takýto príkaz u mňa fungoval a dosiahol som video, ktoré sa dá prehrať aj na webe.

Code: Select all

ffmpeg -i input.mkv -c:a copy -vf format=yuv420p -c:v libx264 output.mp4 
Dá sa sa použiť aj jednoduchší príklaz "ffmpeg -i input.mkv -codec copy output.mp4". To čo som napísal vyššie použijem vtedy, ak chcem dosiahnuť aby bol výstupný súbor prehrávateľný online alebo tiež vo väčšine prehrávačov. (Nemusím to robiť ak vstupný súbor je už takýto, t.j. ak som pri nahrávaní použil -vf format=yuv420p. Ak to robím takto, mám kontrolu aj nad codecom použitým pri konverzii. Ja som to potreboval použiť najmä preto, že som niekoľko súborov už mal nahratých, keď som zistil že videá nahraté bez -vf format=yuv420p nefungujú v niektorých prehrávačoch a ani pri prehrávaní online.)
Viac napríklad tu: How to simply convert video files (i.e.: MKV to MP4)? a Convert mkv to mp4 with ffmpeg.

Niekedy som pri konvertovaní dostal chybové hlásenie: "Too many packets buffered for output stream". Pomôže pridanie parametra -max_muxing_queue_size 1024. (Podľa toho, čo som si prečítal tu: FFMPEG: Too many packets buffered for output stream 0:1.)

Code: Select all

ffmpeg -i input.mkv -c:a copy -vf format=yuv420p -c:v libx264 -max_muxing_queue_size 1024 output.mp4 

Takisto pri nahrávaní bolo niekedy užitočné to aby som vedel z videa vystrihnúť nejaké časť, alebo obrátene viacero kratších súborov spojiť do jedného dlhšieho videa.
Na rozdelenie súborov som používal takýto príkaz:

Code: Select all

ffmpeg -i input.mkv -ss 00:00:17.0 -c copy -t 00:08:13.0 output.mkv 
Viac napríklad tu: Using ffmpeg to cut up video.

Pospájať súbory som vedel takto:

Code: Select all

ffmpeg -f concat -i listt.txt output.mkv
Pričom súbor list.txt je textový súbor, cez ktorý zadám aké súbory sa majú spojiť. Vyzerať môže napríklad takto:

Code: Select all

file 'input1.mkv'
file 'input2.mkv'
file 'input3.mkv'
Viac napríklad tu: Concatenating media files a Concatenate multiple WAV files using single command, without extra file.

Re: Nahrávanie prednášok

Posted: Tue Mar 24, 2020 1:04 am
by Jana Chalmovianská
Ja nahrávam prednášky na mobil: mám ho položený nad stolom, na stole mám papier a naň píšem a komentujem (preferujem old-fashioned rukou písané prednášky pred powerpointovými prezentáciami). Nenahrávam ale celé prednášky, len menšie ucelené časti. Jednak sa mi to zdá pre študentov stráviteľnejšie (ľahšie vydržia pozerať pár 15-minútových videí ako celú prednášku naraz) a jednak sa mi viac ako cca 20 minút na mobil nezmestí.

Video potom stiahnem na notebook a preženiem tiež cez ffmpeg (používam linux), čím sa výrazne zmenší veľkosť súboru pri zachovaní rozlíšenia. Skúšala som aj avconv, ale tam mi robilo problém otáčanie. Zavesím na sieť a zverejním linku.

Zďaleka zatiaľ nestíham pokryť celé prednášky, musia si študenti dosť čítať aj elektronické materiály.