-
-
Notifications
You must be signed in to change notification settings - Fork 788
Tips
execute
method in MobileFFmpeg
API is overloaded and has an optional delimiter parameter. Delimiter defines how the command string will be split into arguments. When delimiter is not specified the space character is used as the default delimiter. Based on this, if one or more of your command arguments include a space character, in filename path or in -filter_complex
block, then your command string will be split into invalid arguments and execution will fail.
Unfortunately, quotation marks are not supported by MobileFFmpeg
. You can not use them to define arguments, so they won't help you on fixing this.
You have two options:
-
You can split your command string into array yourself and call appropriate execute method:
Android:
int execute(String[] arguments)
IOS:
(int)executeWithArguments: (NSArray*)arguments
-
Or use a different delimiter character in your command string and call
execute
by specifying it.Android:
FFmpeg.execute("-i~file1.mp4~-c:v~mpeg4~file2.mp4", "~");
IOS:
[MobileFFmpeg execute: @"-i~file1.mp4~-c:v~mpeg4~file2.mp4", @"~"];
MobileFFmpeg
packages specified in Android c++ dependency guide include libc++_shared.so
library. If a second library which also includes libc++_shared.so
is added as a dependency, gradle
fails with More than one file was found with OS independent path 'lib/x86/libc++_shared.so'
error message.
You can fix this error by adding the following block into your build.gradle
.
android {
packagingOptions {
pickFirst 'lib/x86/libc++_shared.so'
pickFirst 'lib/x86_64/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libc++_shared.so'
}
}
ffmpeg
requires a valid fontconfig
configuration to render subtitles. Unfortunately, Android does not include a default fontconfig
configuration. So if you do not register a font or specify a fontconfig
configuration under Android, then the burning process will not produce any errors but subtitles won't be burned in your file.
You can overcome this situation by registering a font using Config.setFontDirectory
method or specifying your own fontconfig
configuration using Config.setFontconfigConfigurationPath
method.
Copyright (c) 2018-2021 MobileFFmpeg