Skip navigation

Hanganyag leválasztása és visszafűzése

Megjegyzés

Az OpenCV csak videókép információkat dolgoz fel, hanganyagot nem. Amennyiben a bemeneti videónk hangot is tartalmaz, annak lejátszása, illetve új videófájlba mentése nem történik meg.

Ha szükségünk van a hangra is, akkor az OpenCV feldolgozást megelőzően az ffmpeg parancssori programmal szétválaszthatjuk a videó- és a hanganyagot, feldolgozhatjuk a videót, majd a feldolgozott videóval összefűzhetjük az előzőleg leválasztott hangfájlt. (Amennyiben persze a videóanyag lejátszási hossza nem változik a feldolgozás közben.)

A következő parancsokat nem Python programból adjuk ki, hanem közvetlenül a normál parancssorba begépelve. Windows rendszer esetén az ffmpeg.exe fájlnak a futtatási mappában, vagy a rendszer elérési útvonalán (PATH) kell szerepelnie! Ha még nem tettük, le kell tölteni a honlapról (lásd a fejezet bevezető anyagában).

Néhány kapcsolódó parancssori példa

ffmpeg -i input.mp4

Információt kapunk a konzolra kiírva a videóanyagban található videó- és hanganyagok jellemzőiről, formátumairól.

Példa eredmény:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.51.101
Duration: 00:10:05.30, start: 0.000000, bitrate: 646 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1152x864, 383 kb/s, 10 fps, 10 tbr, 10240 tbn, 20 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 259 kb/s (default)
Metadata:
handler_name : SoundHandler
ffmpeg -i input.mp4 -vn -acodec copy input-audio.aac

Az input.mp4 videófájl hanganyagának leválasztása az input-audio.aac fájlba.

ffmpeg -i input.mp4 -an -codec copy input-video-no-audio.mp4

Az input.mp4 fájl képi videóanyagának leválasztása input-video-no-audio.mp4 fájlba.

ffmpeg -i input-video-no-audio-processed.mp4 -i input-audio.aac -map 0:v -map 1:a -c copy -y output-processed.mp4

Szétválasztott videó- és audióanyagok összefűzése egy új fájlba. Feltételezzük, hogy a feldolgozott képi videóanyagot input-video-no-audio-processed.mp4 néven mentettük el.