ืงืึทืจืึทื ืืื ืืื ืึท ืืืื ืืขืจืืขื ืฆืืื ืฆื ืืขืจื ืขื ืขืคึผืขืก. ืึธืืขืจ, ืืื ืืืจ ืคึฟืึทืจืฉืืืื, ืคึฟืึทืจ ืขืืขืฆืขืจ ืฆื ืืขืจื ืขื ืขืคึผืขืก, ืขืืขืฆืขืจ ืืืื ืืขืจื ืขื. ืืืื ืืืจ ืืึธื ืึท ืคึผืจืขืืขื ืืืจืื ื ืืืึธืก ืืืจ ืืืืื ืืขืื ืฆื ืึท ืืืืขื ืคืื ืืืืืึทื ื ืืื ืืึทืงืืืขื ืจืื ืืืขืจืืืืืืื, ืืขืจ ืึทืจืืืงื ืืื ืคึฟืึทืจ ืืืจ. ืืึธ ืืืจ ืืืขื ืืขืคึฟืื ืขื ืฉืจืื-ืืืจื-ืฉืจืื ืื ืกืืจืึทืงืฉืึทื ื ืืืืฃ ืืื ืฆื ืืึทืื ืึท ืืืืืขื ืคึฟืื ืืืื ืคึผืจืขืืขื ืืืจืื ื.
ืืืจ ืึธืคึผืืึธืื ืืขื ืืืขื ืคืื ืจืขืงืึธืจืืื ื "ืึทืืืืึธ ืืึทืืขืจืงืื ืืขื" ืืื ืคึผืึธืืืขืจืคึผืึธืื ื ืืื ืขืงืกืคึผืึธืจืืืจื ืื ืคึผืจืขืืขื ืืืจืื ื ืฆื ืืืืืขื ืืื ื ืืฉืืืง ืืื ื ืืฉื ืฆืืฉืืขืื ืึท ืฆืขื ื ืคืื ืื ืงืืืคึผืึทืืืืึทืืื ืืืึธืก ืืขื ืขื ืืืจืฃ ืคึฟืึทืจ ืึท ืืืืช ืงืื ืืืืืขื.
ืขืจืฉืืขืจ, ืืึธืื ืก ืืึทืฉืืืกื ืืืึธืก ืจืึธืืขื ืืืจ ืืึทืจืคึฟื:
- ืื ืคืึทืงืืืฉ ืกืืืืื ืืื ืืืืืกืึธืืืืขืจ
- ืืฉืึทื ืืื ื ืกืืืืื
- ืฆืืืืจื ืคืื ืคืึธืืงืก ืคืืืืก
- ืขืืืขืืข ืจืึธืืขื ืืื ืื ืืขืงืืฉืขืจืขืจ 'ืก ืคึผื ืื ืืื ืืืื ืืึทืืืืกืืข ืงืึทืฅ (ืึทืคึผืฉืึทื ืึทื)
ืฉืืคื ืึท ืืืขืืืืืึทืืขืจ ืกืืจืืงืืืจ
.
โโโ clipart
โโโ clips
โโโ rec
โโโ slide
โโโ sound
ืืขืจ ืฆืื ืคืื ืื ืืืจืขืงืืขืจืื ืืื ืื ืืืกืืื ื ืกืืจ: ืคืืืืก ืคืื ืืืึธืก ืืืจ ืืืขืื ืฆืืขื ืฆืืืืจื (ืงืืืคึผืึทืจื), ืคืจืึทืืืึทื ืฅ ืคืื ืืื ืืืขืจ ืฆืืงืื ืคึฟื ืืืืืขื (ืงืืืคึผืก), ืืืืืืืก ืคืื ืื ืึทืคึผืึทืจืึทื (ืจืขืง), ืกืืืืื ืืื ืื ืคืึธืจืขื ืคืื ืืืืืขืจ (ืจืืง), ืืขืืื ื (ืงืืึทื ื).
ืืึทืื ืึท ืคึผืจืขืืขื ืืืจืื ื ืืื ืืืืืขืจ
ืคึฟืึทืจ ืึท ืคืึทืงืืืฉ ืจืืื-ืืื ืืื ืืงืก ืืึทื ืืฆืขืจ, ืืึทืื ืึท ืคึผืจืขืืขื ืืืจืื ื ืืื ืื ืคืึธืจืขื ืคืื ืืืืืขืจ ืืื ื ืืฉื ืคืึธืจืฉืืขืื ืงืืื ืคืจืืืืขืืขื. ืืึธืื ืืืจ ื ืึธืจ ืืขืจืืึธื ืขื ืืืจ ืึทื ืึท ืืึธืงืืืขื ื ืืื ืคึผืืฃ ืคึฟืึธืจืืึทื ืงืขื ืขื ืืืื ืคึผืึทืจืกืขื ืืื ืืืืืขืจ ืืื ืืขื ืืึทืคึฟืขื
pdftocairo -png -r 128 ../lecture.pdf
ืืืื ืขืก ืืื ื ืื ืึทืืึท ืืึทืคึฟืขื, ืื ืกืืึทืืืจื ืืขื ืคึผืขืงื ืืื ืคึผืึทืคึผืขืจ-ืืืืืก (ืืื ืกืืจืืงืฆืืขืก ืคึฟืึทืจ ืืืื ืื; ืืืื ืืืจ ืืึธื ืึทืจืืฉ, ืืืจ ืืืืกื ืืืฉืืืืืขืก ืืืึธืก ืฆื ืืึธื ืึธื ืืืจ).
ืืึธ ืืื ืืืืึทืืขืจ, ืืื ืืืืืื ืึทื ืื ืืืืืขื ืืื ืฆืืืขืืจืืื ืืื ืื ืืจืืื ืคึฟืึธืจืืึทื, ื"ื 1280ืงืก720. ื ืคึผืจืขืืขื ืืืจืื ื ืืื ืึท ืืึธืจืืืึธื ืืึทื ืืจืืืก ืคืื 10 ืืื ืืฉืขืก ืืื ืคึผืื ืงื ืื ืืจืืืก ืืืขื ืึทื ืืึธืืืื (ืืขื ืื -r 128 ืึธืคึผืฆืืข).
ืคึผืจืืคึผืขืจืื ื ืื ืืขืงืกื
ืืืื ืืืจ ืืืืื ืฆื ืืึทืื ืืึทืงืข ืืจืืืก ืืึทืืขืจืืึทื, ืืืื ืจืขืืข ืืึทืจืฃ ืืืื ืืขืฉืจืืื ืขืจืฉืืขืจ. ืืื ืืึธื ืืืื ืืขืืจืึทืื, ืึทื ืืื ืงืขื ืจืขืื ืืขื ืืขืงืกื ืึธื ืฆืืืจืืืืื ื, ืืคึฟืจื ืืืฒึทื ืืื ืืึธื ืึท ืืืืข ืืขืจืคืึทืจืื ื ืืื ืืขืงืฆืืขืก. ืืืขืจ ืขืก ืืื ืืืื ืืึทื ืฆื ืืืจืืคืืจื ืืขืื, ืืื ืื ืื ืืขืจ ืืึทื ืฆื ืจืขืงืึธืจืืืจื ืึท ืืืืืขื. ืื ืืืืกื ื ืืฉื ืืืื ืคืืื - ืื ืฆืืื ืคืืจืืจืืื ืืืืคึผืื ื ืืืขื ืืึทืฆืึธืื ืืื ืคืืืข ืืึธื ืืืืขืจ.
ืืึธ ืืื ืืืื ืจืขืงืึธืจืืื ื ืคึฟืึธืจืืึทื. ืื ื ืืืขืจ ืืื ืืขื ืืืื ืืื ืืืืึทื ืฆื ืื ืจืืง ื ืืืขืจ, ืื ืื ืืขืจืึทืคึผืฉืึทื ื ืืขื ืขื ืืืืืืืืื ืืื ืจืืื. ืงืืื ืจืขืืึทืงืืึธืจ ืืื ืคึผืึทืกืืง ืคึฟืึทืจ ืฆืืืจืืืืื ื, ืึธืืขืจ ืขืก ืืื ืืขืกืขืจ ืฆื ื ืขืืขื ืึท ืคืื-ืคืืขืืืฉื ืืืึธืจื ืคึผืจืึทืกืขืกืขืจ - ืคึฟืึทืจ ืืืึทืฉืคึผืื, OnlyOffice.
ืงืื ืืืืขืจ ืื ืกืืืืื
ืืืึธืก ืงืขื ืืื ืืึธืื - ืงืขืจ ืืืืฃ ืื ืืืงืจืึธืคืึธื ืืื ืฉืจืืึทืื :)
ืืขืจืคืึทืจืื ื ืืืืืื ืึทื ืื ืจืขืงืึธืจืืื ื ืงืืืึทืืืืขื ืืคืืื ืคึฟืื ืื ืืฉืืคึผืึทืกื ืคืื ืืจืืืกื ืืืง ืืืงืจืึธืคืึธื ืืื ืื ืงืึทืืคึผืขืจืึทืืื ืืขืกืขืจ ืืื ืคึฟืื ืื ืืขืืืื-ืืื ืืืงืจืึธืคืึธื ืคืื ืึท ืืึทืคึผืืึทืคึผ. ืืืื ืืืจ ืืืืื ืงืืืึทืืืืขื ืืืกืจืืื, ืืื ืจืขืงืึธืืขื ืืืจื ืขืก
ืคึฟืึทืจ ืจืขืงืึธืจืืื ื ืืื ืืขืืืืื ื ืึทืืืืึธ-ืจืขืงืึธืจืืขืจ - ืึท ืืืืขืจ ืคึผืฉืื ืึทืคึผืืึทืงืืืฉืึทื ืคึฟืึทืจ ืืขืืื ื ืจืขืงืึธืจืืื ื. ืืืจ ืงืขื ืขื ื ืขืืขื ืขืก, ืืืฉื, ืืึธ:
sudo add-apt-repository ppa:audio-recorder/ppa
sudo apt-get update
sudo apt-get install audio-recorder
ืื ืืืืคึผื ืืึทื ืืื ืืขื ืฉืจืื ืืื ืฆื ื ืึธืืขื ืื ืืขืงืขืก ืจืืืืืง. ืืขืจ ื ืึธืืขื ืืืื ืฆืื ืืืคืฉืืขืื ืืื ืคืื ืื ืจืืง ื ืืืขืจ ืืื ืคืจืึทืืืขื ื ื ืืืขืจ. ืคืจืึทืืืึทื ืฅ ืืขื ืขื ืืขืฆืืืื ืืื ืืึธืื ืข ื ืืืขืจื - 1, 3, 5, ืืื"ื ื. ืึทืืื, ืคึฟืึทืจ ืื ืจืืง, ืื ืืขืงืกื ืคืื ืืืึธืก ืืื ืืขืืืืื ืืื ืื ืืืื, ืฆืืืื ืืขืงืขืก ืืืขื ืืืื ืืืฉืืคื: 002-1.mp3 ะธ 002-3.mp3.
ืืืื ืืืจ ืจืขืงืึธืจืืขื ืึทืืข ืื ืืืืืืืก ืืื ืึทืืึธื ืืื ืึท ืฉืืื ืคึผืืึทืฅ, ืืืจ ืืึธื ื ืื ืืึธืื ืฆื ืืึธื ืขืคึผืขืก ืืื ืืื. ืืืื ืืืจ ืจืขืงืึธืจืืขื ืืื ืขืืืขืืข ืกืืขืคึผืก, ืขืก ืืื ืืขืกืขืจ ืฆื ืืงืืืึทืืืื ืื ืืึทื ื ืืืจืื:
mp3gain -r *.mp3
ืืืืืืืืขืก mp3 ืืขืืืื ืขื ืคึฟืึทืจ ืขืืืขืืข ืกืืื ืขืก ืืื ื ืืฉื ืืื ืื ื ืึธืจืืึทื ืจืืคึผืึทืืึทืืึธืจืื, ืึธืืขืจ ืืืจ ืงืขื ืขื ืืึทืงืืืขื ืขืก ืืึธ:
sudo add-apt-repository ppa:flexiondotorg/audio
sudo apt-get update
sudo apt-get install mp3gain
ื ืึธื ืึทืืข ืืขื, ืืืจ ืืึทืจืคึฟื ืฆื ืจืขืงืึธืจืืืจื ืื ืื ืืขืจ ืืขืงืข ืืื ืฉืืืืงืืึทื. ืขืก ืืื ื ืืืืืง ืฆื ืืืืื ืึท ืืขืืื ื ืฉืคึผืืจ ืฆื ืฉืืื ืืืืืืืก: ืืืื ืืืื ืขืจ ืืืืืขื ืืื ืึท ืืขืืื ื ืฉืคึผืืจ ืืื ืื ืื ืืขืจืข ืืึธื ื ืื, ืขืก ืืื ืฉืืืขืจ ืฆื ืงืืื ืื ืืืืืืืก ืฆืืืึทืืขื. ืฉืืืืงืืึทื ืงืขื ืขื ืืืื ืจืขืงืึธืจืืขื ืคึฟืื ืึท ืืืงืจืึธืคืึธื, ืึธืืขืจ ืขืก ืืื ืืขืกืขืจ ืฆื ืฉืึทืคึฟื ืึท ืืขืงืข ืืื ืืขืจ ืจืขืืึทืงืืึธืจ ืึทืืขืก. ืืขืจ ืืขืงืข ืืขื ื ืืึธื ืืืื ืืืึท ืืื ืืกืืขืจ ืึท ืจืืข (ืืขืจ ืืื ืืขืืืขื), ืืื ืขืก ืืึธื ืืืื ืืขืืืืกื silence.mp3
ืคึผืจืืคึผืขืจืื ื ืืืขืจืจืืึทืก ืืืืืืืก
ืืึธ ืึทืืฅ ืืื ืืืืจืขื ืขืฆื ืืืืื ืืืจื ืืืื ืคืึทื ืืึทืืืข. ืืืจ ืงืขื ืขื ื ืืฆื ืึท ืจืขืืึทืงืืึธืจ ืฆื ืจืขืืึทืืืจื ืืืืืืืก Avidemux. ืึทืืึธื ืืืืฃ ืึท ืฆืืึทื ืขืก ืืื ืืขืืืขื ืืื ืื ื ืึธืจืืึทื ืจืืคึผืึทืืึทืืึธืจืื, ืึธืืขืจ ืืขืืึธืื ืคึฟืึทืจ ืขืืืขืืข ืกืืื ืขืก ืืื ืืขืืืขื ืฉื ืืึทืื ืืืืก. ืืึธืก ืืืขื ืืื ืื ื ืืฉื ืืึทืืื:
sudo add-apt-repository ppa:ubuntuhandbook1/avidemux
sudo apt-get update
sudo apt-get install avidemux2.7-qt5
ืขืก ืืขื ืขื ืคืืืข ืืื ืกืืจืืงืฆืืขืก ืคึฟืึทืจ ืืจืืขืื ืืื ืืขื ืจืขืืึทืงืืึธืจ ืืืืฃ ืืขืจ ืืื ืืขืจื ืขืฅ, ืืื ืืื ืคึผืจืื ืฆืืคึผ, ืึทืืฅ ืืื ืื ืืืึทืืืื. ืขืก ืืื ืืืืืืืง ืฆื ืืจืขืคื ืขืืืขืืข ืืืืื ืืื ืืขื.
ืขืจืฉืืขืจ, ืื ืืืืืขื ืืึทืืืึธืืข ืืืื ืืืืึทืื ืื ืฆืื ืืืืืขื ืืึทืืืึธืืข. ืฆื ืืึธื ืืึธืก, ืืืจ ืืึทืจืคึฟื ืฆื ื ืืฆื ืฆืืืื ืคืืืืขืจืก ืืื ืื "ืจืขืืืืืึทื ืืืืืขื": swsResize ืฆื ืืืืฉื ืื ืืึทืืืึธืืข ืืื "ืึทืืื ื ืคืขืืืขืจ" ืฆื ืืืขื ืื ืึท ืกืึธืืืืขื "ืขื ื ืคึฟืึธืจืืึทื" ืคืืื ืืื ืึท ืืจืืื ืคึฟืึธืจืืึทื. ืึทืืข ืื ืืขืจืข ืคืืืืขืจืก ืืขื ืขื ืึทืคึผืฉืึทื ืึทื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืื ืขืืขืฆืขืจ ืงืขื ื ืืฉื ืคึฟืึทืจืฉืืืื ืืืึธืก ืืขืจ ืฉืึทืจืืงืึธืื ืก ืืขืจืงืืขืจืื ื ืืื ืืื ืื ืคืจืึทืืืขื ื ืืื ืืขืจ ืืืกืงืืกืืข, ื ืืฆื ืื "ืืืื ืืึธืืึธ" ืคืืืืขืจ, ืืืจ ืงืขื ืขื ืึธืืืืขืจืืื ืื PostgreSQL ืืึธืืึธ ืืืืฃ ืฉืคึผืืฅ ืคืื ืื "ืืื ื ืืืจืฅ".
ืฆืืืืืื ืก, ืึทืืข ืคืจืึทืืืึทื ืฅ ืืืื ื ืืฆื ืื ืืขืืืข ืจืึทื ืงืืจืก. ืืื ื ืืฆื 25 ืจืึธืืขื ืคึผืขืจ ืกืขืงืื ืืข ืืืืึทื ืืืื ืึทืคึผืึทืจืึทื ืืื ืึทืื ืกืึธืืืืขื ืคืืืืก ืืขืื ืืืจ ืึทืืื ืคืื. ืืืื ืืขืจ ืคึฟืืื ืืืจ'ืจืข ืงืึทืืื ื ืคืื ืืื ืืขืืืขื ืฉืึธืก ืืื ืึท ืึทื ืืขืจืฉ ืืืืงืืึทื, ื ืืฆื ืื ืจืขืกืึทืืคึผืืข ืืืืืขื ืคืืืืขืจ.
ืืจืืื ืก, ืึทืืข ืคืจืึทืืืึทื ืฅ ืืืื ืืืื ืงืึทืืคึผืจืขืกื ืืื ืื ืืขืืืข ืงืึธืืขืง ืืื ืคึผืึทืงืืืืฉื ืืื ืื ืืขืืืข ืงืึทื ืืืื ืขืจื. ืืขืจืืืขืจ ืืื Avidemux ืคึฟืึทืจ ืืขื ืคึฟืึธืจืืึทื, ืืืืกืงืืืึทืื ืืืืืขื - "ืืคึผืขื 4 ืึทืืืง (ืงืก 264)", ืึทืืืืึธ -"AAC (FAAC)", ืจืขืืืืืึทื ืคึฟืึธืจืืึทื - "ืืคึผ 4 ืืืงืกืขืจ'.
ืคืขืจืืื, ืขืก ืืื ืืืืืืืง ืฆื ื ืึธืืขื ืื ืฉื ืืึทืื ืืืืืืืก ืจืืืืืง. ืืขืจ ืืขืงืข ื ืึธืืขื ืืืื ืฆืื ืืืคืฉืืขืื ืืื ืคืื ืื ืจืืง ื ืืืขืจ ืืื ืคืจืึทืืืขื ื ื ืืืขืจ. ืคืจืึทืืืึทื ืฅ ืืขื ืขื ืืขืฆืืืื ืืื ืืคืืื ื ืืืขืจื, ืกืืึทืจืืื ื ืคืื 2. ืืืื, ืคึฟืึทืจ ืื ืจืึทื ืืื ืืขืจ ืืืกืงืืกืืข, ืื ืืืืืขื ืืื ืื ืืืขืจืจืืึทืก ืืึธื ืืืื ืืขืจืืคื 002-2.mp4
ื ืึธื ืื ืืืืืืืก ืืขื ืขื ืืจืืื, ืืืจ ืืึทืจืคึฟื ืฆื ืึทืจืืืขืจืคืืจื ืืื ืฆื ืื ืืืขืืืืืึทืืขืจ ืืื ืคืจืึทืืืึทื ืฅ. ืกืขืืืื ืืก ืึทืืืืืขืืืงืก ืึทื ืืขืจืฉ ืคืื ืกืขืืืื ืืก ืคืคืืคึผืขื ืืืจื ืคืขืืืงืืึทื ืืื ืืืกืืขืจืืขื ืคึผืึทืจืึทืืขืืขืจืก tbr, tbn, tbc. ืืื ืืึธื ื ืื ืืืืจืงื ืคึผืืืืืึทืง, ืึธืืขืจ ืืื ืืึธื ื ืื ืืึธืื ืื ืืืืืืืก ืฆื ืืืื ืืืื ืฆืืืึทืืขื. ืึทืืื ืืึธืื ืืื ืื ืจืขืงืึธืืข:
for f in ???-?.mp4;
do
ffmpeg -hide_banner -y -i "${f}" -c copy -r 25 -video_track_timescale 12800 ../clips/$f
done
ืฉืืกืขืจืืึท ืกืงืจืขืขื ืกืึทืืืขืจืก
ืืึธ, ืืืื, ืึทืืฅ ืืื ืคึผืฉืื: ืืืจ ืืจืืืขื ืงืขืื ืื ืืึทืงืืจืึทืคึผ ืคืื ืขืืืขืืข ืงืืื ืกืืขืืข, ืฉืืขืื ืื ืจืืืึทืืืื ื ืืืืืืืก ืืื ืึท ืงืึทืืึทืืึธื rec, ืืื ืคึฟืื ืืึธืจื ืึทืจืืืขืจืคืืจื ืขืก ืฆื ืื ืืืขืืืืืึทืืขืจ ืืื ืคืจืึทืืืึทื ืฅ. ืื ื ืึทืืื ื ืึผืืืื ืืขื ืขื ืื ืืขืืืข ืืื ืคึฟืึทืจ ืืืขืจืจืืึทืกื ืงืืืึธืืขืก, ืื ืจืขืงืึธืืื ื ืืึทืคึฟืขื ืืื ืืื ืืืื:
ffmpeg -y -i source_file -r 25 -vcodec libx264 -pix_fmt yuv420p -profile:v high -coder 1 -s 1280x720 -ar 44100 -ac 2 ../clips/xxx-x.mp4
ืืืื ืืืจ ืคึผืืึทื ืฆื ืึธื ืืืืื ืืขื ืืืืืขื ืืื ืืืื ืจืขืืข, ื ืึธืืขื ืืขื ืคืจืึทืืืขื ื 000-1.mp4
ืืึทืื ืจืึธืืขื ืคืื ืกืืึทืืืง ืืืืืขืจ
ืขืก ืืื ืฆืืื ืฆื ืจืขืืึทืืืจื ืืืืืืืก ืคึฟืื ืกืืึทืืืง ืืืืืขืจ ืืื ืืขืืื ื. ืืึธืก ืืื ืืขืืื ืืื ืื ืคืืืืขื ืืข ืฉืจืืคื:
#!/bin/bash
for sound in sound/*.mp3
do
soundfile=${sound##*/}
chunk=${soundfile%%.mp3}
clip=${chunk}.mp4
pic=slide/${chunk%%-?}.png
duration=$(soxi -D ${sound} 2>/dev/null)
echo ${sound} ${pic} ${clip} " - " ${duration}
ffmpeg -hide_banner -y -loop 1 -i ${pic} -i ${sound} -r 25 -vcodec libx264 -tune stillimage -pix_fmt yuv420p -profile:v high -coder 1 -t ${duration} clips/${clip}
done
ืืืืข ืืึธื ืึทื ืืขืจ ืืขืืืืขืจ ืคืื ืื ืึทืืืืึธ ืืขืงืข ืืื ืขืจืฉืืขืจ ืืืฉืืืกื ืืืจื ืื ื ืืฆื soxi, ืืื ืืขืืึธืื ืืขืจ ืืืืืขื ืคืื ืื ืคืืจืืื ืื ืืขื ื ืืื ืขืืืืื. ืึทืืข ืื ืจืขืงืึทืืึทื ืืืืฉืึทื ื ืืื ืืขืคึฟืื ืขื ืืขื ืขื ืกืืืคึผืืขืจ: ืึทื ืฉืืึธื ืคืื ืึท ืคืึธื -ื ${ ืืขืืืืขืจ} ืคืึธื ืืื ืืขื ืืฆื โ ืงืืจืฆืขืกื. ืืื ืคืึทืงื ืคืคืืคึผืขื ืืืฉืืืกื ืื ืืขื ื ืคืื mp3 ืืืืขืจ ืืขืขืจืขื, ืืื ืืขืฉืึทืก ืขืืืืื ื, ืื ืืขื ื ืคืื ืื ืึทืืืืึธ ืฉืคึผืืจ ืงืขื ืขื ืืืื ืืืืขืจ ืึทื ืืขืจืฉ (ืืื ืืืื ืึธืืขืจ ืฆืืืื ืกืขืงืื ืืขืก) ืคืื ืื ืืขื ื ืคืื ืื ืืืืืขื ืฉืคึผืืจ. ืืึธืก ืืื ื ืืฉื ืขื ืื ืืืื ืื ืืื ืฆืข ืืืืืขื ืืืฉืืืื ืคืื ืึท ืืืื ืจืึทื, ืึธืืขืจ ืืืขื ืืืจ ืงืืื ืึทืืึท ืึท ืืืืืขื ืืื ืื ืืขืจืึทืคึผืฉืึทื ื ืืืึท ืื ืืจืขื ืขืฅ, ืขืก ืคืึทืื ืืึธืจ ืคึผืจืืงืจืข ืกืืึทืืขืจืื ื ืืคืขืงืฅ.
ืื ืื ืืขืจ ืืืขื ืฆื ืืึทืฉืืืืขื ืื ืืขืืืืขืจ ืคืื ืึท mp3 ืืขืงืข ืืื ืฆื ื ืืฆื mp3info. ืื ืืืื ืืืกืืืืงืก ืืืื, ืืื ืืื ืคืคืืคึผืขื ืืื ืืขืจ ืืื mp3info, ืืื ืขืก ืืื ืื ืื ืืขืจืข ืืืขื ืึทืจืื, ืืื ืืื ืืืืืข ืืืื - ืืื ืืื ื ืืฉื ืืึทืืขืจืงื ืงืืื ืืืกืืขืจ. ืืื ืืึธ soxi ืึทืจืืขื ืจืืืืืง.
ืฆื ืื ืกืืึทืืืจื ืืขื ื ืืฆืืง ื ืืฆื, ืืึธื ืืึธืก:
sudo apt-get install sox libsox-fmt-mp3
ืืืื ืืจืึทื ืืืฉืึทื ื ืฆืืืืฉื ืกืืืืื
ื ืืืขืจืืึทื ื ืืื ืึท ืงืืจืฅ ืืืืืขื ืืื ืืืึธืก ืืืื ืจืืง ืืืจื ืก ืืื ืื ืืขืจื. ืฆื ืืึทืื ืึทืืึท ืืืืืืืก, ืืืจ ื ืขืืขื ืกืืืืื ืืื ืคึผืขืจื ืืื ื ืืฆื ืืืึทืืขืืึทืืืงืง ืืืขืจืืึทืื ืืืื ืขืจ ืืื ืื ืื ืืขืจืข:
#!/bin/bash
BUFFER=$(mktemp -d)
for pic in slide/*.png
do
if [[ ${prevpic} != "" ]]
then
clip=${pic##*/}
clip=${clip/.png/-0.mp4}
#
# ะณะตะฝะตัะธััะตะผ ะบะฐััะธะฝะบะธ
#
./fade.pl ${prevpic} ${BUFFER} 1280 720 5 direct 0
./fade.pl ${pic} ${BUFFER} 1280 720 5 reverse 12
#
# ะทะฐะบะพะฝัะธะปะธ ะณะตะฝะตัะธัะพะฒะฐัั ะบะฐััะธะฝะบะธ
#
ffmpeg -y -hide_banner -i "${BUFFER}/%03d.png" -i sound/silence.mp3 -r 25 -y -acodec aac -vcodec libx264 -pix_fmt yuv420p -profile:v high -coder 1 -shortest clips/${clip}
rm -f ${BUFFER}/*
fi
prevpic=${pic}
done
rmdir ${BUFFER}
ืคืืจ ืขืคืขืก ื ืกืืื ืืื ืืื ืืขืืืืื ืื ืื ืืืืืฉ ืืื ืืืขืจื ืฆืขืฉืคืจืืื ืืื ื ืงืืืืช, ืืื ืืื ืืืืื ืืขื ืคืืจืืืืื ืื ืงืืืขื ืืืืข ืืืืืฉ ืคืื ืื ื ืงืืืืช, ืืื ืืขืจืคืืจ ืืื ืืื ืืขืฉืจืืื ื ืฉืจืืคื ืืืืก ืืืืกื fade.pl ืืืืื ืืืึทืืขืืึทืืืงืง, ืึท ืคืึทืงืืืฉ ืืื ืืงืก ืืึทื ืืฆืขืจ ืืืขื ืืึทืื ืงืืื ืกืคึผืขืฆืืขื ืืืืจืงืื ื, ืึธืืขืจ ืืืื ืขืืขืฆืขืจ ืืืืงืก ืืืื ืืขืืึทื ืง ืืื ืฆืขืืืึธืจืคื, ืืึธ ืืื ืื ืฉืจืืคื:
#!/usr/bin/perl
use strict;
use warnings;
use locale;
use utf8;
use open qw(:std :utf8);
use Encode qw(decode);
use I18N::Langinfo qw(langinfo CODESET);
my $codeset = langinfo(CODESET);
@ARGV = map { decode $codeset, $_ } @ARGV;
my ($source, $target, $width, $height, $pixsize, $rev, $file_no) = @ARGV;
my @rects;
$rects[$_] = "0123456789AB" for 0..$width*$height/$pixsize/$pixsize/12 - 1;
for my $i (0..11) {
substr($_,int(rand(12-$i)),1) = "" for (@rects);
my $s = $source;
$s =~ s#^.*/##;
open(PICTURE,"| convert - -transparent white PNG:- | convert "$source" - -composite "$target/".substr("00".($file_no+$i),-3).".png"");
printf PICTURE ("P3n%d %dn255n",$width,$height);
for my $row (1..$height/$pixsize/3) {
for my $j (0..2) {
my $l = "";
for my $col (1..$width/$pixsize/4) {
for my $k (0..3) {
$l .= (index($rects[($row-1)*$width/$pixsize/4+$col-1],sprintf("%1X",$j*4+$k))==-1 xor $rev eq "reverse") ? "0 0 0n" : "255 255 255n" for (1..$pixsize);
}
}
print PICTURE ($l) for (1..$pixsize);
}
}
close(PICTURE);
}
ืืืจ ืึธื ืงืืึทืคึผื ืื ืคืึทืจืืืง ืืืืืขื
ืืืฆื ืืืจ ืืึธืื ืึทืืข ืื ืคืจืึทืืืึทื ืฅ. ืืืื ืฆื ืื ืงืึทืืึทืืึธื ืงืืืคึผืก ืืื ืึทืกืขืืืึทื ืื ืคืึทืจืืืง ืคืืื ื ืืฆื ืฆืืืื ืงืึทืืึทื ืื:
ls -1 ???-?.mp4 | gawk -e '{print "file " $0}' >list.txt
ffmpeg -y -hide_banner -f concat -i list.txt -c copy MOVIE.mp4
ืื ืื ืืืึทืืฉืื ื ืฆื ืืืื ืืึทื ืงืืึทืจ ืกืืืืขื ืื!
ืืงืืจ: www.habr.com