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

Respuestas (1)

Yongqian Yang
Yongqian Yang el 24 de Sept. de 2014

2 votos

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 comentarios

Erdem Yilmaz
Erdem Yilmaz el 16 de Abr. de 2016
Editada: Erdem Yilmaz el 16 de Abr. de 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
Peter Krumholz
Peter Krumholz el 12 de Dic. de 2023
Solved mine too!
Eric
Eric el 8 de Mayo de 2024
Erdem's solution fixed mine too! Matlab r2024a, Apple Silicon M2 chip, ffmpeg version 7.0

Iniciar sesión para comentar.

Categorías

Más información sobre Software Development en Centro de ayuda y File Exchange.

Preguntada:

el 23 de Sept. de 2014

Comentada:

el 8 de Mayo de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by