1 of 28

Кодування відеоданих. Формати відеофайлів

За навчальною програмою 2017 року

Урок 18

8

teach-inf.com.ua

2 of 28

Кодування відеоданих

Розділ 3 § 13

Надзвичайно багато інформації з навколишнього середовища людина сприймає за допомогою зору, тому саме відеоматеріали є найбільш інформативними.

8

© Вивчаємо інформатику teach-inf.com.ua

3 of 28

Принципи кодування відео

Розділ 3 § 13

Як ви вже знаєте, рухоме зображення — відео — отримують, демонструючи почергово окремі кадри.

Отже, щоб закодувати відео, потрібно закодувати зображення кожного його кадру приблизно так, як це описано в матеріалах раніше. Оскільки для отримання плавних рухів потрібно демонструвати 24 або більше кадрів на секунду, то обсяг відеоданих може бути значним.

8

© Вивчаємо інформатику teach-inf.com.ua

4 of 28

Принципи кодування відео

Розділ 3 § 13

Закодовані кадри зберігають в одному файлі, додавши за потреби закодовані дані звукового супроводу.

8

© Вивчаємо інформатику teach-inf.com.ua

5 of 28

Принципи кодування відео

Розділ 3 § 13

Мультфільм тривалістю 1 год 40 хв (6000 с) за частоти кадрів 24 кадри/с складається з:

6000 * 24 = 144 000 кадрів

За роздільності 720 × 400 пікселів і глибини кольору 3 байти обсяг даних одного кадру становить:

720 * 400 * 3 = 864 000 байтів

8

© Вивчаємо інформатику teach-inf.com.ua

6 of 28

Принципи кодування відео

Розділ 3 § 13

Отже, загальний обсяг відеоданих становить:

144 000 * 864 000 = 124 416 000 000 байтів ≈ 120 Гбайт

Цікаво, як ці дані разом зі звуковою доріжкою поміщаються у значно меншому файлі обсягом

1,6 Гбайт?

8

© Вивчаємо інформатику teach-inf.com.ua

7 of 28

Принципи кодування відео

Розділ 3 § 13

Існують різні методи зменшення обсягу файлу до прийнятних розмірів. Розглянемо деякі з них докладніше.

  1. Можна стиснути кожен кадр так само, як це робиться з фотографіями у форматах JPG (зі втратою якості) або PNG (без втрати якості). У такому разі кожний кадр під час перегляду фільму потрібно буде розпакувати, що вимагає додаткових обчислень, тобто збільшує навантаження на процесор.

8

© Вивчаємо інформатику teach-inf.com.ua

8 of 28

Принципи кодування відео

Розділ 3 § 13

  1. Можна повністю зберігати лише ключові кадри, тобто ті, які дуже відрізняються від попередніх. Тоді з кадрів, що йдуть після ключового, достатньо зберегти лише ті фрагменти, що відрізняються від попереднього кадру. Це одночасно зменшить як обсяг файлу, так і обсяг обчислень.

8

© Вивчаємо інформатику teach-inf.com.ua

9 of 28

Принципи кодування відео

Розділ 3 § 13

Під час скринкастингу передається через інтернет або записується до файлу те, що відбувається на екрані комп’ютера. Якщо ведучий при цьому щось пояснює, зображення може не змінюватися протягом декількох секунд.

8

© Вивчаємо інформатику teach-inf.com.ua

10 of 28

Принципи кодування відео

Розділ 3 § 13

А під час переміщення вказівника змінюється тільки маленька ділянка екрана поблизу нього. Тому другий метод може бути дуже ефективним.

На практиці в різних форматах відеофайлів використовують ці та інші методи, а також їх комбінації.

8

© Вивчаємо інформатику teach-inf.com.ua

11 of 28

Формати відеофайлів

Розділ 3 § 13

Відеофайл містить набір статичних зображень, призначених для почергового виведення з певною частотою.

Для стиснення і відтворення відео використовують спеціальні програми кодеки (від слів кодування — декодування).

8

© Вивчаємо інформатику teach-inf.com.ua

12 of 28

Формати відеофайлів

Розділ 3 § 13

Формат відеофайлу визначається методом його стиснення. Більшість відеофайлів можуть містити статичні зображення, аудіо та відео різних форматів тощо. Такі файли називають медіаконтейнерами.

8

© Вивчаємо інформатику teach-inf.com.ua

13 of 28

Формати відеофайлів

Розділ 3 § 13

Розглянемо деякі формати відеофайлів.

AVI

Медіаконтейнер, розроблений спочатку для ОС Windows. Відтворюється на смартфонах, комунікаторах тощо

WMV

Формат компанії Microsoft, може містити аудіо- й відеодані. Відтворюється плеєрами MPlayer, Windows Media Player та ін.

MOV

Формат компанії Apple для QuickTime-плеєра, може містити відео, анімацію, графіку. Підтримує будь-які аудіо- і відеокодеки

8

© Вивчаємо інформатику teach-inf.com.ua

14 of 28

Формати відеофайлів

Розділ 3 § 13

(Продовження…) Деякі формати відеофайлів.

MPG

Часто вживаний формат завдяки невеликим втратам під час стиснення та сумісності з багатьма програмами і пристроями

MP4

Формат для зберігання відео, аудіо та деяких видів анімації. Підтримує багатоканальний звук. Найчастіше використовується в портативних пристроях, для передавання відеофайлів в інтернеті

ASF

Формат компанії Microsoft, використовується для передавання відео в інтернеті. Підтримує практично всі відеокодеки

8

© Вивчаємо інформатику teach-inf.com.ua

15 of 28

Формати відеофайлів

Розділ 3 § 13

(Продовження…) Деякі формати відеофайлів.

MKV

(Matroska)

За можливостями перевищує AVI, може зберігати інформацію про титри, навігаційні меню тощо. У контейнер MKV можна впакувати відео й аудіо найрізноманітніших форматів

WebM

Відкритий формат (не вимагає ліцензії) компанії Google для вебмедіа. Спрощений аналог MKV з функціями, потрібними для мережі. Підтримується більшістю сучасних веббраузерів і медіаплеєрів

8

© Вивчаємо інформатику teach-inf.com.ua

16 of 28

Формати відеофайлів

Розділ 3 § 13

Існує значно більше форматів відео- та аудіофайлів, ніж ми розглянули. Їхня кількість зростає, оскільки вони створюються для різних пристроїв і мають різне призначення. Крім того, технології опрацювання мультимедійних даних розвиваються, це також спричиняє появу нових форматів файлів і «відмирання» застарілих.

8

© Вивчаємо інформатику teach-inf.com.ua

17 of 28

Використання відео в програмах

Розділ 3 § 13

Для перегляду відео за допомогою програм-програвачів його зберігають в одному файлі. Якщо ж потрібно, наприклад, зробити анімаційного персонажа у власній ігровій програмі, то зручно мати відеофрагмент у вигляді окремих графічних файлів.

8

© Вивчаємо інформатику teach-inf.com.ua

18 of 28

Використання відео в програмах

Розділ 3 § 13

Ви вже навчилися виводити у вікно власної програми мовою Python покадрову анімацію. Цю програму можна вдосконалити так, щоб в одному вікні виводилось декілька анімацій одночасно.

8

© Вивчаємо інформатику teach-inf.com.ua

19 of 28

Використання відео в програмах

Розділ 3 § 13

Опишемо клас, екземпляр якого за отриманим списком імен файлів і координатами виводитиме у заданому місці вікна анімацію:

class Videosprite:

def __init__(self, frames, x, y):

# Формуємо список зображень для об’єкта...

self.images = []

for name in frames: # ...з файлів, імена яких у списку frames

self.images.append(PhotoImage(file = name))

self.id = canvas.create_image(x, y, anchor = NW, image = self.images[0])

self.cur_frame = 0 # Номер поточного кадру

self.animate() # Початок анімації

8

© Вивчаємо інформатику teach-inf.com.ua

20 of 28

Використання відео в програмах

Розділ 3 § 13

Продовження…

def animate(self ):

root.update() # Показуємо поточний кадр

# Готуємо наступний кадр

self.cur_frame += 1 # Коригуємо номер

if self.cur_frame >= len(self.images):

self.cur_frame = 0

# Замінюємо зображення наступним

canvas.itemconfig(self.id,image = self.images[self.cur_frame])

root.after(100, self.animate) # Продовжуємо анімацію

8

© Вивчаємо інформатику teach-inf.com.ua

21 of 28

Використання відео в програмах

Розділ 3 § 13

Тепер у програмі можна створювати об’єкти класу Videosprite, кожний із яких у потрібному місці виводитиме анімацію із власного списку імен файлів:

import time

from tkinter import*

root = Tk()

root.title('Відеоспрайти')

canvas = Canvas(root, width = 140, height = 280)

canvas.pack()

# Створюємо два об’єкти з різною анімацією

B = Videosprite(5, 5, ['1.gif', '2.gif', '3.gif'])

C = Videosprite(5,140, ['4.gif', '5.gif', '6.gif', '7.gif’, '8.gif'])

root.mainloop()

8

© Вивчаємо інформатику teach-inf.com.ua

22 of 28

Використання відео в програмах

Розділ 3 § 13

Як бачимо, розуміння принципів отримання рухомого зображення і кодування відеоданих дозволяє не тільки зберігати фільми для перегляду, але й складати цікаві власні програми з анімаційним оформленням.

8

© Вивчаємо інформатику teach-inf.com.ua

23 of 28

Розгадайте ребус

Відеофайл

«Ребуси українською» © rebus1.com

Розділ 3 § 13

8

© Вивчаємо інформатику teach-inf.com.ua

24 of 28

Розгадайте ребус

Кодек

«Ребуси українською» © rebus1.com

Розділ 3 § 13

8

© Вивчаємо інформатику teach-inf.com.ua

25 of 28

Питання для самоперевірки

  1. Як отримують рухоме зображення?
  1. Навіщо «стискають» цифрове відео?
  1. Назвіть відомі вам формати відео.
  1. Чому існує велика кількість відеоформатів?

Розділ 3 § 13

8

© Вивчаємо інформатику teach-inf.com.ua

26 of 28

Домашнє завдання

Проаналізувати

§ 13, ст. 89-93

Розділ 3 § 13

8

© Вивчаємо інформатику teach-inf.com.ua

27 of 28

Працюємо за комп’ютером

Розділ 3 § 13

Сторінка

93

8

© Вивчаємо інформатику teach-inf.com.ua

28 of 28

Дякую за увагу!

За навчальною програмою 2017 року

Урок 18

8

teach-inf.com.ua