Video package: Difference between revisions
No edit summary |
|||
Line 18: | Line 18: | ||
tar xzf libav-11.4.tar.gz | tar xzf libav-11.4.tar.gz | ||
cd libav-11.4 | cd libav-11.4 | ||
./configure | ./configure --enable-pic | ||
make -j 4 | make -j 4 | ||
Revision as of 20:34, 12 January 2016
The video package is part of the Octave Forge project and tries to implement the video functions from matlab. It should compile with ffmpeg and libav.
Installation
on Debian Jessie using "pkg -forge"
sudo apt-get install libavutil-dev libavformat-dev libswscale-dev libavcodec-dev
On the Octave prompt:
>> pkg install -forge video
on CentOS Linux release 7.2.1511 (Core) with GNU Octave Version 3.8.2
yum install octave-devel yum install libvorbis yasm freetype zlib bzip2 faac lame speex libvpx libogg libtheora x264 XviD openjpeg15 opencore-amr wget https://libav.org/releases/libav-11.4.tar.gz tar xzf libav-11.4.tar.gz cd libav-11.4 ./configure --enable-pic make -j 4
as root:
make install
On the Octave prompt:
>> pkg install -forge video
On Windows
using official mxe-build and ffmpeg binaries
This is at the moment the preferred way for windows users and assumes that you've installed Octave from the official MXE build from https://ftp.gnu.org/gnu/octave/windows/ to the default path.
Download the ffmpeg binaries for windows from https://ffmpeg.zeranoe.com/builds/. You need the "32-bit Dev" and "32-bit Shared" archive. These instructions were tested with
- ffmpeg-20160105-git-68eb208-win32-shared.7z
- ffmpeg-20160105-git-68eb208-win32-dev.7z
Now
- Extract the bin/*.dll from ffmpeg-20160105-git-68eb208-win32-shared.7z to C:\Octave\Octave-4.0.0\bin
- Extract include/* from ffmpeg-20160105-git-68eb208-win32-dev.7z to C:\Octave\Octave-4.0.0\include (You should now, for example, see C:\Octave\Octave-4.0.0\include\libavutil\version.h)
- Extract lib/* from ffmpeg-20160105-git-68eb208-win32-dev.7z to C:\Octave\Octave-4.0.0\lib
Download a patched version (no pkg_config check for ffmpeg and PixelFormat -> AVPixelFormat) from video-1.2.1_win_ffmpeg.tar.gz (sha1sum 3ef5b0dca471175daf769bd813b6de7fa85759df) or grab the source and apply this patch
Compile and install from Octave with
pkg -verbose install video-1.2.1_win_ffmpeg.tar.gz
Load it before any usage:
pkg load video
mxe-octave
You can also use mxe-octave to include ffmpeg, there is already a target for it.
Known bugs
- On MXE-Octave with ffmpeg crosscompiled "clear all" after using "addframe" causes a segmentation fault
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1956.0xdd4]
0x77d6e3c6 in ntdll!RtlInitUnicodeString () from C:\Windows\SysWOW64\ntdll.dll
(gdb) bt
- 0 0x77d6e3c6 in ntdll!RtlInitUnicodeString ()
from C:\Windows\SysWOW64\ntdll.dll
- 1 0x19380000 in ?? ()
- 2 0x77d6e013 in ntdll!RtlFreeHeap () from C:\Windows\SysWOW64\ntdll.dll
- 3 0x778698cd in msvcrt!free () from C:\Windows\syswow64\msvcrt.dll
- 4 0x19380000 in ?? ()
- 5 0x1dc016c6 in AVHandler::~AVHandler (this=0x1da579a8,
__in_chrg=<optimized out>) at AVHandler.cc:99
- 6 0x1dc0384a in Avifile::~Avifile (this=0x1dac8570,
__in_chrg=<optimized out>) at oct-avifile.cc:149