เบงเบดเบ”เบตเป‚เบญเบšเบฑเบ™เบเบฒเบ: unix way

เบงเบดเบ”เบตเป‚เบญเบšเบฑเบ™เบเบฒเบ: unix way
เบเบฒเบ™เบเบฑเบเบเบฑเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เบฐเป€เบชเบตเบ”เบ—เบตเปˆเบˆเบฐเบฎเบฝเบ™เบฎเบนเป‰เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ•เบฒเบกเบ—เบตเปˆเบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆ, เป€เบžเบทเปˆเบญเปƒเบซเป‰เบœเบนเป‰เปƒเบ”เบœเบนเป‰เบซเบ™เบถเปˆเบ‡เบฎเบฝเบ™เบฎเบนเป‰เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบœเบนเป‰เปƒเบ”เบœเบนเป‰เบซเบ™เบถเปˆเบ‡เบ•เป‰เบญเบ‡เบชเบญเบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบœเบนเป‰เบŠเบปเบกเบซเบฅเบฒเบเบฅเป‰เบฒเบ™เบ„เบปเบ™เปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเบŠเบทเปˆเบชเบฝเบ‡เบ—เบปเปˆเบงเป‚เบฅเบ, เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™. เบ—เบตเปˆเบ™เบตเป‰เป€เบˆเบปเป‰เบฒเบˆเบฐเบžเบปเบšเป€เบซเบฑเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ‚เบฑเป‰เบ™เบ•เบญเบ™เป‚เบ”เบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบชเป‰เบฒเบ‡เบงเบดเบ”เบตเป‚เบญเบˆเบฒเบเบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบžเบงเบเป€เบฎเบปเบฒเบเบปเบเป€เบฅเบตเบเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบ "เบ„เปเบฒเบ„เบดเบ”เป€เบซเบฑเบ™เบชเบฝเบ‡" เปƒเบ™ PowerPoint เปเบฅเบฐเบชเบปเปˆเบ‡เบญเบญเบเบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป€เบ›เบฑเบ™เบงเบดเบ”เบตเป‚เบญเป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เป€เบฅเบฑเบเป†เบ™เป‰เบญเบเป†เปเบฅเบฐเบšเปเปˆเบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบˆเปเบฒเบ™เบงเบ™เบชเบดเบšเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบงเบดเบ”เบตเป‚เบญเบ—เบตเปˆเป€เบขเบฑเบ™เปเบ—เป‰เป†.

เบ—เปเบฒเบญเบดเบ”, เปƒเบซเป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบญเบšเปƒเบ”:

  1. เบชเบฐเป„เบฅเป‰เบ•เบปเบงเบˆเบดเบ‡เบเบฑเบšเบชเบฝเบ‡เป€เบงเบปเป‰เบฒ
  2. เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเบฐเป„เบฅเป‰
  3. เบงเบปเบ‡เบขเบทเบกเบˆเบฒเบเบฎเบนเบšเป€เบ‡เบปเบฒเบเบญเบ”เบ™เบดเบเบปเบก
  4. เบเบญเบšเบซเบผเบฒเบเบฎเบนเบšเบเบฑเบšเปƒเบšเปœเป‰เบฒเบ‚เบญเบ‡เบญเบฒเบˆเบฒเบ™ เปเบฅเบฐเปเบกเบงเบ—เบตเปˆเบฅเบฒเบงเบกเบฑเบ (เป€เบฅเบทเบญเบเป„เบ”เป‰)

เบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต

.
โ”œโ”€โ”€ clipart
โ”œโ”€โ”€ clips
โ”œโ”€โ”€ rec
โ”œโ”€โ”€ slide
โ””โ”€โ”€ sound

เบˆเบธเบ”โ€‹เบ›เบฐโ€‹เบชเบปเบ‡โ€‹เบ‚เบญเบ‡โ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹เปƒเบ™โ€‹เบฅเปเบฒโ€‹เบ”เบฑเบšโ€‹เบ‚เบญเบ‡โ€‹เบฅเบฒเบโ€‹เบเบฒเบ™โ€‹: เบฎเบนเบšโ€‹เป€เบ‡เบปเบฒโ€‹เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบˆเบฐโ€‹เบ”เบถเบ‡โ€‹เบ„เปเบฒโ€‹เป€เบงเบปเป‰เบฒ (clipartโ€‹)โ€‹, เบŠเบดเป‰เบ™โ€‹เบ‚เบญเบ‡โ€‹เบงเบดโ€‹เบ”เบตโ€‹เป‚เบญโ€‹เปƒเบ™โ€‹เบญเบฐโ€‹เบ™เบฒโ€‹เบ„เบปเบ”โ€‹เบ‚เบญเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒ (clipsโ€‹)โ€‹, เบงเบดโ€‹เบ”เบตโ€‹เป‚เบญโ€‹เบˆเบฒเบโ€‹เบเป‰เบญเบ‡โ€‹เบ–เปˆเบฒเบโ€‹เบฎเบนเบš (recโ€‹)โ€‹, slideshow เปƒเบ™โ€‹เบฎเบนเบšโ€‹เบžเบฒเบš (เบชเบฐโ€‹เป„เบฅโ€‹เบ”โ€‹เปŒโ€‹)โ€‹, เบชเบฝเบ‡โ€‹. (เบชเบฝเบ‡).

เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เบชเบฐโ€‹เป€เบซเบ™เบตโ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹

เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ Linux เบ•เบฒเปเบ”เบ‡เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡, เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบฎเบนเบšเบžเบฒเบšเบšเปเปˆเป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบšเบฑเบ™เบซเบฒเปƒเบ”เป†. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเป€เบ•เบทเบญเบ™เบ—เปˆเบฒเบ™เบงเปˆเบฒเป€เบญเบเบฐเบชเบฒเบ™เปƒเบ™เบฎเบนเบšเปเบšเบš pdf เบชเบฒเบกเบฒเบ”เบ–เบทเบเปเบเบเบญเบญเบเป€เบ›เบฑเบ™เบฎเบนเบšเบžเบฒเบšเป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡

pdftocairo -png -r 128 ../lecture.pdf

เบ–เป‰เบฒเบšเปเปˆเบกเบตเบ„เปเบฒเบชเบฑเปˆเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เปƒเบซเป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเบธเบ”เบ•เบปเบงเบ—เปˆเบฒเบ™เป€เบญเบ‡ poppler-เป€เบ„เบทเปˆเบญเบ‡เปƒเบŠเป‰ (เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบš Ubuntu; เบ–เป‰เบฒเป€เบˆเบปเป‰เบฒเบกเบต Arch, เป€เบˆเบปเป‰เบฒเบฎเบนเป‰เบ”เบตเปเบฅเป‰เบงเบงเปˆเบฒเบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”เป‚เบ”เบเบšเปเปˆเบกเบตเบ‚เป‰เบญเบ).

เบ™เบตเป‰เปเบฅเบฐเบ•เปเปˆเป„เบ›, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบŠเบทเปˆเบญเบงเปˆเบฒเบงเบดเบ”เบตเป‚เบญเป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบกเปƒเบ™เบฎเบนเบšเปเบšเบš HD Ready, i.e. 1280x720. เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบ—เบตเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบกเบฅเบงเบ‡เบ™เบญเบ™เบ‚เบญเบ‡ 10 เบ™เบดเป‰เบงเปƒเบซเป‰เบ‚เบฐเบซเบ™เบฒเบ”เบ™เบตเป‰เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆ unloaded (เป€เบšเบดเปˆเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบ -r 128).

เบเบฒเบ™เบเบฐเบเบฝเบกเบ‚เปเป‰เบ„เบงเบฒเบก

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบเบดเปˆเบ‡เปƒเบซเบเปˆ, เบ„เปเบฒเป€เบงเบปเป‰เบฒเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบ‚เบฝเบ™เบเปˆเบญเบ™. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เบ„เบดเบ”เบงเปˆเบฒเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเบ‚เปเป‰เบ„เบงเบฒเบกเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบเบฐเบเบฝเบก, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ—เบตเปˆเบ”เบตเปƒเบ™เบเบฒเบ™เบšเบฑเบ™เบเบฒเบ. เปเบ•เปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบชเบฐเปเบ”เบ‡เบชเบปเบ”, เปเบฅเบฐเบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบšเบฑเบ™เบ—เบถเบเบงเบดเบ”เบตเป‚เบญ. เบขเปˆเบฒเบ‚เบตเป‰เบ„เป‰เบฒเบ™ - เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰เบžเบดเบกเบˆเบฐเบˆเปˆเบฒเบเป€เบ‡เบดเบ™เบซเบผเบฒเบเบ„เบฑเป‰เบ‡.

เบงเบดเบ”เบตเป‚เบญเบšเบฑเบ™เบเบฒเบ: unix way

เบ™เบตเป‰เปเบกเปˆเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบ•เบปเบงเป€เบฅเบเปƒเบ™เบซเบปเบงเบ‚เปเป‰เปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเบเบฑเบšเบ•เบปเบงเป€เบฅเบเบชเบฐเป„เบฅเป‰, เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ–เบทเบเป€เบ™เบฑเป‰เบ™เปƒเบชเปˆเป€เบ›เบฑเบ™เบชเบตเปเบ”เบ‡. เบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบฐเบเบฝเบก, เปเบ•เปˆเบกเบฑเบ™เบเปเปˆเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ„เปเบฒเบ—เบตเปˆเป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ” - เบ•เบปเบงเบขเปˆเบฒเบ‡, OnlyOffice.

เบชเบฝเบ‡เบœเปˆเบฒเบ™เบชเบฐเป„เบฅเป‰

เบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเบซเบเบฑเบ‡เป„เบ”เป‰ - เป€เบ›เบตเบ”เป„เบกเป‚เบ„เป‚เบŸเบ™เปเบฅเบฐเบ‚เบฝเบ™ :)

เบ›เบฐเบชเบปเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบˆเบฒเบเป„เบกเป‚เบ„เป‚เบŸเบ™เบžเบฒเบเบ™เบญเบเบฅเบฒเบ„เบฒเบ–เบทเบเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบ”เบตเบเปˆเบงเบฒเบˆเบฒเบเป„เบกเป‚เบ„เป‚เบŸเบ™เปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบ‚เบญเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบต. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบกเบตเบ„เบธเบ™เบ™เบฐเบžเบฒเบš, เบ‚เป‰เบญเบเบ‚เปเปเบ™เบฐเบ™เปเบฒ เบซเบปเบงโ€‹เบ‚เปเป‰โ€‹เบ™เบตเป‰.

เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹ เป€เบ„เบทเปˆเบญเบ‡เบšเบฑเบ™เบ—เบถเบเบชเบฝเบ‡ - เป€เบ›เบฑเบ™โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹เบซเบผเบฒเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบชเบฝเบ‡โ€‹. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบญเบปเบฒเบกเบฑเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เบตเปˆเบ™เบตเป‰:

sudo add-apt-repository ppa:audio-recorder/ppa
sudo apt-get update
sudo apt-get install audio-recorder

เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบŠเบทเปˆเป„เบŸเบฅเปŒเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เบŠเบทเปˆเบˆเบฐเบ•เป‰เบญเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเป€เบฅเบเบชเบฐเป„เบฅเป‰ เปเบฅเบฐเปเบฒเบเป€เบฅเบเบŠเบดเป‰เบ™เบชเปˆเบงเบ™. Fragments เปเบกเปˆเบ™เบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเบกเบตเบ•เบปเบงเป€เบฅเบเบ„เบตเบ - 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

เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบšเบฑเบ™เบ—เบถเบเป„เบŸเบฅเปŒเบญเบทเปˆเบ™เบ”เป‰เบงเบเบ„เบงเบฒเบกเบ‡เบฝเบš. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเป€เบžเบ‡เบชเบฝเบ‡เปƒเบซเป‰เบเบฑเบšเบงเบดเบ”เบตเป‚เบญเบ—เบตเปˆเบ‡เบฝเบšเป†: เบ–เป‰เบฒเบงเบดเบ”เบตเป‚เบญเบซเบ™เบถเปˆเบ‡เบกเบตเบชเบฝเบ‡เป€เบžเบ‡เปเบฅเบฐเบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เบšเปเปˆเบกเบต, เบกเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบงเบดเบ”เบตเป‚เบญเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบฎเปˆเบงเบกเบเบฑเบ™. เบ„เบงเบฒเบกเบ‡เบฝเบšเบชเบฒเบกเบฒเบ”เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเบˆเบฒเบเป„เบกเป‚เบ„เป‚เบŸเบ™, เปเบ•เปˆเบกเบฑเบ™เบเปเปˆเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเปƒเบ™เบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™ Audacity. เบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ„เบงเบ™เบˆเบฐเบกเบตเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบงเบดเบ™เบฒเบ—เบต (เบซเบผเบฒเบเปเบกเปˆเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰), เปเบฅเบฐเบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเบกเบตเบŠเบทเปˆ เบ‡เบฝเบš.mp3

เบเบณเบฅเบฑเบ‡เบเบฐเบเบฝเบกเบงเบดเบ”เบตเป‚เบญเบฅเบปเบšเบเบงเบ™

เบ—เบตเปˆเบ™เบตเป‰เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบˆเปเบฒเบเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเป‚เบ”เบเบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบงเบดเบ”เบตเป‚เบญ Avidemux. เบ„เบฑเป‰เบ‡เบซเบ™เบถเปˆเบ‡เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ”เป‰เบงเบเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบกเบฑเบ™เบ–เบทเบเบ•เบฑเบ”เบญเบญเบ. เบ™เบตเป‰เบˆเบฐเบšเปเปˆเบขเบธเบ”เบžเบงเบเป€เบฎเบปเบฒ:

sudo add-apt-repository ppa:ubuntuhandbook1/avidemux
sudo apt-get update
sudo apt-get install avidemux2.7-qt5

เบกเบตเบซเบผเบฒเบเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™เบ™เบตเป‰เปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”, เปเบฅเบฐเปƒเบ™เบซเบผเบฑเบเบเบฒเบ™, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบกเบต intuitive. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เป€เบžเบทเปˆเบญเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡.

เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เบ„เบงเบฒเบกเบฅเบฐเบญเบฝเบ”เบงเบดเบ”เบตเป‚เบญเบ•เป‰เบญเบ‡เบเบปเบ‡เบเบฑเบšเบ„เบงเบฒเบกเบฅเบฐเบญเบฝเบ”เบงเบดเบ”เบตเป‚เบญเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบชเบญเบ‡เบ•เบปเบงเบเบญเบ‡เปƒเบ™ "เบงเบดเบ”เบตเป‚เบญเบœเบปเบ™เบœเบฐเบฅเบดเบ”": swsResize เป€เบžเบทเปˆเบญเบ›เปˆเบฝเบ™เบ„เบงเบฒเบกเบฅเบฐเบญเบฝเบ”เปเบฅเบฐ "เป€เบžเบตเปˆเบกเบžเบทเป‰เบ™เบ—เบตเปˆ" เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบฎเบนเบšเป€เบ‡เบปเบฒ "เปเบ„เบš" เบ‚เบญเบ‡เป‚เบŠเบงเบฝเบ”เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบšเบเบงเป‰เบฒเบ‡. เบเบฒเบ™เบเบฑเปˆเบ™เบ•เบญเบ‡เบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเปƒเบœเบœเบนเป‰เบซเบ™เบถเปˆเบ‡เบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™ Sharikov เบขเบนเปˆเปƒเบ™เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบชเบปเบ™เบ—เบฐเบ™เบฒ, เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบเบญเบ‡ "เบ•เบทเปˆเบกเป‚เบฅเป‚เบเป‰", เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบงเบฒเบ‡เป‚เบฅเป‚เบเป‰ PostgreSQL เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡ "เบซเบปเบงเปƒเบˆเบซเบกเบฒ".

เบญเบฑเบ™เบ—เบตเบชเบญเบ‡, เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบญเบฑเบ”เบ•เบฒเบเบญเบšเบ”เบฝเบงเบเบฑเบ™. เบ‚เป‰เบญเบเปƒเบŠเป‰ 25 เป€เบŸเบฃเบกเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเป€เบžเบฒเบฐเบงเปˆเบฒเบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบเปเบฅเบฐเบฎเบนเบšเป€เบ‡เบปเบฒเป‚เบŠเบงเบฝเบ”เป€เบเบปเปˆเบฒเปƒเบซเป‰เบ‚เป‰เบญเบเบซเบผเบฒเบ. เบ–เป‰เบฒเบฎเบนเบšเป€เบ‡เบปเบฒเบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบเบณเบฅเบฑเบ‡เบ•เบฑเบ”เบ™เบฑเป‰เบ™เบ–เบทเบเบเบดเบ‡เบ”เป‰เบงเบเบ„เบงเบฒเบกเป„เบงเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปƒเบซเป‰เปƒเบŠเป‰เบ•เบปเบงเบเบฑเปˆเบ™เบ•เบญเบ‡เบงเบดเบ”เบตเป‚เบญเบ•เบปเบงเบขเปˆเบฒเบ‡เบ„เบทเบ™เปƒเปเปˆ.

เบญเบฑเบ™เบ—เบตเบชเบฒเบก, เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เบ”เป‰เบงเบเบ•เบปเบงเปเบ›เบ‡เบชเบฑเบ™เบเบฒเบ™เบ”เบฝเบงเบเบฑเบ™เปเบฅเบฐเบ–เบทเบเบซเบธเป‰เบกเป„เบงเป‰เปƒเบ™เบ–เบฑเบ‡เบ”เบฝเบงเบเบฑเบ™. เป€เบžเบฒเบฐเบชเบฐเบ™เบฑเป‰เบ™เปƒเบ™ Avidemux เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเปเบšเบš, เป€เบฅเบทเบญเบเบงเบดเบ”เบตเป‚เบญ โ€“ โ€œMPEG4 AVC (x264)", เบชเบฝเบ‡ -"AAC (FAAC)", เบฎเบนเบšเปเบšเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” - "MP4 Muxer".

เบญเบฑเบ™เบ—เบตเบชเบตเปˆ, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ•เบฑเป‰เบ‡เบŠเบทเปˆเบงเบดเบ”เบตเป‚เบญเบ—เบตเปˆเบ–เบทเบเบ•เบฑเบ”เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เบŠเบทเปˆเป„เบŸเบฅเปŒเบ•เป‰เบญเบ‡เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเป€เบฅเบเบชเบฐเป„เบฅเป‰ เปเบฅเบฐเปเบฒเบเป€เบฅเบเบŠเบดเป‰เบ™เบชเปˆเบงเบ™. Fragments เปเบกเปˆเบ™เบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเบกเบตเบ•เบปเบงเป€เบฅเบเบ„เบนเปˆ, เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบˆเบฒเบ 2. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเปเบฒเบฅเบฑเบšเบเบญเบšเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒ, เบงเบดเบ”เบตเป‚เบญเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ„เบงเบ™เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ. 002-2.mp4

เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบงเบดโ€‹เบ”เบตโ€‹เป‚เบญโ€‹เปเบกเปˆเบ™โ€‹เบเบฝเบกโ€‹เบžเป‰เบญเบกโ€‹, เบ—เปˆเบฒเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เป‚เบญเบ™โ€‹เปƒเบซเป‰โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ—เบตเปˆโ€‹เบกเบต fragmentsโ€‹. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ avidemux เปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ ffmpeg เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบฅเบถเบเบฅเบฑเบš tbr, tbn, tbc. เบžเบงเบเบกเบฑเบ™เบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เบซเบผเบดเป‰เบ™, เปเบ•เปˆเบžเบงเบเบกเบฑเบ™เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบงเบดเบ”เบตเป‚เบญเบ•เบดเบ”เบเบฑเบ™. เบชเบฐเบ™เบฑเป‰เบ™เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒ recode:

for f in ???-?.mp4;
do
  ffmpeg -hide_banner -y -i "${f}" -c copy -r 25 -video_track_timescale 12800 ../clips/$f
done

เบเบฒเบ™เบ–เปˆเบฒเบเบžเบฒเบšเบซเบ™เป‰เบฒเบˆเป

เบ—เบตเปˆเบ™เบตเป‰, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบ: เบ—เปˆเบฒเบ™เบเบดเบ‡เบเบฑเบšเบชเบฒเบเบซเบผเบฑเบ‡เบ‚เบญเบ‡เบšเบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบชเบฐเบซเบฅเบฒเบ”, เป€เบญเบปเบฒเบงเบดเบ”เบตเป‚เบญเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปƒเบ™เบฅเบฒเบเบเบฒเบ™. rec, เปเบฅเบฐเบˆเบฒเบเบ™เบฑเป‰เบ™เป‚เบญเบ™เบกเบฑเบ™เป„เบ›เบซเบฒเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเบŠเบดเป‰เบ™. เบเบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบŠเบทเปˆโ€‹เปเบกเปˆเบ™โ€‹เบ„เบทโ€‹เบเบฑเบ™โ€‹เบเบฑเบšโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบงเบปเบ‡โ€‹เบขเบทเบกโ€‹เบ‚เบฑเบ”โ€‹เบ‚เบงเบฒเบ‡โ€‹, เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡ recoding เปเบกเปˆเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

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

เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบญเบšเบˆเบฒเบเบฎเบนเบšเบชเบฐเบ–เบดเบ”

เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเปเบเป‰เป„เบ‚เบงเบดเบ”เบตเป‚เบญเบˆเบฒเบเบฎเบนเบšเบžเบฒเบšเปเบฅเบฐเบชเบฝเบ‡เบ„เบปเบ‡เบ—เบตเปˆ. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบ”เป‰เบงเบ script เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

#!/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

เบเบฐเบฅเบธเบ™เบฒเบฎเบฑเบšเบŠเบฒเบšเบงเปˆเบฒเป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบชเบฝเบ‡เปเบกเปˆเบ™เป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เป‚เบ”เบเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” เป‚เบŠเบŠเบต, เปเบฅเบฐโ€‹เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบงเบดโ€‹เบ”เบตโ€‹เป‚เบญโ€‹เบ‚เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบเบฒเบงโ€‹เบ—เบตเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ‚เป‰เบญเบเบžเบปเบšเปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบเบงเปˆเบฒ: เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ—เบธเบ‡ -t ${เป„เบฅเบเบฐเป€เบงเบฅเบฒ} เบ—เบธเบ‡เบ–เบทเบเปƒเบŠเป‰ - เบชเบฑเป‰เบ™โ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹. เปƒเบ™โ€‹เบ„เบงเบฒเบกโ€‹เป€เบ›เบฑเบ™โ€‹เบˆเบดเบ‡ ffmpeg เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡ mp3 เบ›เบฐเบกเบฒเบ™เบซเบผเบฒเบ, เปเบฅเบฐเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ”เบฑเบ”เปเบเป‰, เบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡เป€เบžเบ‡เบชเบฝเบ‡เบชเบฒเบกเบฒเบ”เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ (เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบชเบญเบ‡เบงเบดเบ™เบฒเบ—เบต) เบˆเบฒเบเบ„เบงเบฒเบกเบเบฒเบงเบ‚เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบงเบดเบ”เบตเป‚เบญ. เบ™เบตเป‰เบšเปเปˆเบชเปเบฒเบ„เบฑเบ™เบงเปˆเบฒเบงเบดเบ”เบตเป‚เบญเบ—เบฑเบ‡เบซเบกเบปเบ”เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบญเบšเบ”เบฝเบง, เปเบ•เปˆเป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบเบฒเบงเบงเบดเบ”เบตเป‚เบญเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบขเบนเปˆเบŠเบฒเบเปเบ”เบ™, เบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡ stuttering unpleasant เป€เบเบตเบ”เบ‚เบถเป‰เบ™.

เบญเบตเบเบงเบดเบ—เบตเบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ‚เบญเบ‡เป„เบŸเบฅเปŒ mp3 เปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ mp3info. เบ™เบฒเบ‡เป€เบฎเบฑเบ”เบœเบดเบ”เบžเบฒเบ”เบ„เบทเบเบฑเบ™, เปเบฅเบฐเบšเบฒเบ‡เบ„เบฑเป‰เบ‡ ffmpeg เปƒเบซเป‰เบซเบผเบฒเบเบเปˆเบงเบฒ mp3info, เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบญเบทเปˆเบ™, เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบžเบงเบเป€เบ‚เบปเบฒเบ—เบฑเบ‡เบชเบญเบ‡เบ•เบปเบงเบฐ - เบ‚เป‰เบญเบเบšเปเปˆเป„เบ”เป‰เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบฎเบนเบšเปเบšเบšเปƒเบ”เป†. เปเบฅเบฐเบ—เบตเปˆเบ™เบตเป‰ เป‚เบŠเบŠเบต เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡.

เป€เบžเบทเปˆเบญโ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบ—เบตเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”โ€‹เบ™เบตเป‰โ€‹, เป€เบฎเบฑเบ”โ€‹เปเบ™เบงโ€‹เบ™เบตเป‰โ€‹:

sudo apt-get install sox libsox-fmt-mp3

เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบฐเป„เบฅเป‰

เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เปเบกเปˆเบ™เบงเบดเบ”เบตเป‚เบญเบชเบฑเป‰เบ™เบ—เบตเปˆเบชเบฐเป„เบฅเป‰เปœเบถเปˆเบ‡เบ›เปˆเบฝเบ™เป„เบ›เป€เบ›เบฑเบ™เบญเบตเบเบญเบฑเบ™เปœเบถเปˆเบ‡. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบงเบดเบ”เบตเป‚เบญเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เป€เบงเบฅเบฒ slides เป€เบ›เบฑเบ™เบ„เบนเปˆเปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™ เบ›เปˆเบฝเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เป„เบ›โ€‹เปƒเบ™โ€‹เบญเบตเบโ€‹เบซเบ™เบถเปˆเบ‡โ€‹:

#!/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}

เบ”เป‰เบงเบเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ‚เป‰เบญเบเบขเบฒเบเปƒเบซเป‰เบชเบฐเป„เบฅเป‰เบ–เบทเบเบเบฐเปเบˆเบเบเบฐเบˆเบฒเบเบ”เป‰เบงเบเบˆเบธเบ”, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบฐเป„เบฅเป‰เบ•เปเปˆเป„เบ›เบˆเบฐเบ–เบทเบเบฅเบงเบšเบฅเบงเบกเบˆเบฒเบเบˆเบธเบ”, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เบ‚เป‰เบญเบเป„เบ”เป‰เบ‚เบฝเบ™ script เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ. fade.pl เบกเบต เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™, เบœเบนเป‰เปƒเบŠเป‰ Linux เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบˆเบฐเบชเป‰เบฒเบ‡เบœเบปเบ™เบเบฐเบ—เบปเบšเบžเบดเป€เบชเบ”เปƒเบ”เป†, เปเบ•เปˆเบ–เป‰เบฒเปƒเบœเบœเบนเป‰เบซเบ™เบถเปˆเบ‡เบกเบฑเบเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบเบ”เป‰เบงเบเบเบฒเบ™เบเบฐเปเบˆเบเบเบฐเบˆเบฒเบ, เบ™เบตเป‰เปเบกเปˆเบ™ script:

#!/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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™