Use ffmpeg in Matlab

Hi, all I'm trying to use the software 'ffmpeg' in Matlab. I'm using Mac system with Matlab 2012a. I had installed the ffmpeg software and could run it in the Mac terminal. However, when I tried to use it in Matlab with the command "system('ffmpeg xxxxxx')" and "unix('ffmpeg xxxx')", Matlab gave the error message that "/bin/bash: ffmpeg: command not found". My ffmpeg is in directory "/opt/local/bin", which is not included in Matlab's $PATH variable when I typed "system('echo $PATH')" in Matlab. I tried to use "system('export PATH=$PATH:/opt/local/bin')" in Matlab, but "system('echo $PATH')" still showed that the directory "/opt/local/bin" was not included. http://www.mathworks.com/matlabcentral/newsreader/view_thread/255609 This link mentioned about modifying the "$MATLAB/bin/matlab" file to add $PATH. However, even though I used "sudo chmod +wrx " to clear the readonly attribute of this file, I could not modify it because it still said the file was readonly. Does anyone have any idea about how to use ffmpeg in Matlab? Thanks a lot in advance.
Regards Yongqian

Answers (1)

Yongqian Yang
Yongqian Yang on 24 Sep 2014

2 votes

The problem about "readonly" is solved by using "chmod 777 matlab".
Another problem occurred when I used "unix('ffmpeg xxxxx')":
"dyld: Library not loaded: /opt/local/lib/libfreetype.6.dylib Referenced from: /opt/local/bin/ffmpeg Reason: Incompatible library version: ffmpeg requires version 18.0.0 or later, but libfreetype.6.dylib provides version 10.0.0 ffmpeg -version: Trace/breakpoint trap"
I had updated the ffmpeg just now, but the problem was still there. I can use ffmpeg in the Mac terminal, so I'm not sure why I cannot use it in Matlab... Anyone has any idea?
Thanks
Yongqian

3 Comments

Erdem Yilmaz
Erdem Yilmaz on 16 Apr 2016
Edited: Erdem Yilmaz on 16 Apr 2016
I had the same issue on OS-X El Capitan Version 10.11.4 Here's how I solved it:
1 ) Go to terminal, type
printenv PATH
2 ) Copy the output of the command
3 ) Go to Matlab. Type setenv('PATH', [getenv('PATH') '??????']); instead of ?????? paste what you got from terminal
This solved my problem
Solved mine too!
Eric
Eric on 8 May 2024
Erdem's solution fixed mine too! Matlab r2024a, Apple Silicon M2 chip, ffmpeg version 7.0

Sign in to comment.

Categories

Find more on Software Development in Help Center and File Exchange

Asked:

on 23 Sep 2014

Commented:

on 8 May 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!