Giter Site home page Giter Site logo

Comments (13)

rafaismyname avatar rafaismyname commented on August 27, 2024 1

@tanersener BULLSEYE! :)

On Android RNFS.MainBundlePath is undefined, and also, there is no "direct path" for the assets, so what i had to do is to copy all my fonts from the assets folder to my RNFS.DocumentDirectoryPath and it worked like a charm! 🎊

So i ended up with a function like this to retrieve my fonts directory:

const fontsDir = async (fontsAssetsPath = 'fonts') => {
  if (Platform.OS === 'ios') {
    return RNFS.MainBundlePath;
  }

  const destPath = `${RNFS.DocumentDirectoryPath}/${fontsAssetsPath}`;
  await RNFS.mkdir(destPath);

  const fontsAssets = await RNFS.readDirAssets(fontsAssetsPath);
  const fonts = fontsAssets.filter(font => font.isFile());

  const copies = fonts.map(({ path, name }) => {
    return RNFS.copyFileAssets(path, `${destPath}/${name}`);
  });

  await Promise.all(copies);

  return destPath;
};

And i just needed to do a minimal change to my render function:

const execFFMPEG = async (input, commands, output, useFonts = false) => {
  RNFFmpeg.disableLogs();
  RNFFmpeg.disableStatistics();

  if (useFonts) {
    const fontsDir = await fontsDir();
    RNFFmpeg.setFontDirectory(fontsDir, null);
  }

  await RNFFmpeg.execute(`-i ${input} ${commands} ${output}`, ' ');

  return `file://${output}`;
};

😃 😃 😃 😃 😃

Now everything is ready for release!

Thanks for your support!

Do you mind adding this to react-native-ffmpeg's Tips section? This would for sure help lots of other users that gets tangled up with this whole "setFontDirectory" situation :)

from mobile-ffmpeg.

shoyu666 avatar shoyu666 commented on August 27, 2024

log
2018-09-06 11:17:16.761 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: ffmpeg version 4.0.1 2018-09-06 11:17:16.761 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Copyright (c) 2000-2018 the FFmpeg developers 2018-09-06 11:17:16.761 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: built with gcc 4.9.x (GCC) 20150123 (prerelease) 2018-09-06 11:17:16.763 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --extra-cflags='-march=armv8-a -Wno-unused-function -fstrict-aliasing -fPIC -DANDROID -D__ANDROID_API__=21 -Os -I/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/sysroot/usr/include -I/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/sysroot 2018-09-06 11:17:16.763 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: /usr/local/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/fontconfig/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/freetype/include/freetype2 -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libpng/include/libpng16 -I/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/sysroot/usr/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libuuid/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/expat/include -I/home 2018-09-06 11:17:16.763 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: /t 2018-09-06 11:17:16.763 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: aner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libiconv/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/freetype/include/freetype2 -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libpng/include/libpng16 -I/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/sysroot/usr/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/fribidi/include/fribidi -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/gmp/include -I/home/taner/Projects/mobile-f 2018-09-06 11:17:16.763 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: fmpeg/prebuilt/android-arm64/gnutls/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/nettle/include -I/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/sysroot/usr/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/lame/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libass/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/fontconfig/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libuuid/include -I/h 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: ome/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/expat/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libiconv/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/fribidi/include/fribidi -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/freetype/include/freetype2 -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libpng/include/libpng16 -I/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/sysroot/usr/include -I/home/taner/Projects/m 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: obile-ffmpeg/prebuilt/android-arm64/libiconv/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libtheora/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libogg/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libvorbis/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libogg/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libvpx/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libwebp/include - 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libxml2/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libxml2/include/libxml2 -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libiconv/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/opencore-amr/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/opencore-amr/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/shine/include -I/home/taner/Projects/mobile-ffmpeg/pr 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: ebuilt/android-arm64/speex/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/wavpack/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/kvazaar/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/x264/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/xvidcore/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libilbc/include/ -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/opus/include/opus -I/home/taner/Proje 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: cts/mobile-ffmpeg/prebuilt/android-arm64/snappy/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/soxr/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libaom/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libogg/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libpng/include/libpng16 -I/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/sysroot/usr/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/lib 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: uuid/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/nettle/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/nettle/include -I/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/expat/include -I/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/sysroot/usr/include' --extra-cxxflags='-std=c++11 -fno-exceptions -fno-rtti' --extra-ldflags='-march=armv8-a -Wl,--gc-sections -lc -lm -ldl -llog -L/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch6 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 4/sysroot/usr/lib -L/files/android-sdk/ndk-bundle/toolchains/mobile-ffmpeg-aarch64/lib -L/files/android-sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/fontconfig/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/freetype/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libpng/lib -L/files/android-sdk/ndk-bundle/platforms/android-21/arch-arm64/usr/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libuuid/l 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: ib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/expat/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libiconv/lib -lfontconfig -lfreetype -lpng16 -lm -lz -luuid -lexpat -liconv -lcharset -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/freetype/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libpng/lib -L/files/android-sdk/ndk-bundle/platforms/android-21/arch-arm64/usr/lib -lfreetype -lpng16 -lm -lz -L/home/taner/Projects/mobile-ffmpeg/prebuilt/and 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: roid-arm64/fribidi/lib -lfribidi -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/gmp/lib -lgmp -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/gnutls/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/nettle/lib -L/files/android-sdk/ndk-bundle/platforms/android-21/arch-arm64/usr/lib -lgnutls -lgmp -lhogweed -lgmp -lnettle -lz -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/lame/lib -lmp3lame -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libass/ 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/fontconfig/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libuuid/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/expat/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libiconv/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/fribidi/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/freetype/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libpng/lib - 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: L/files/android-sdk/ndk-bundle/platforms/android-21/arch-arm64/usr/lib -lass -lm -lfontconfig -luuid -lexpat -liconv -lcharset -lfribidi -lfreetype -lpng16 -lm -lz -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libiconv/lib -liconv -lcharset -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libtheora/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libogg/lib -ltheora -logg -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libvorbis/lib -L/home/taner/Projects 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: /mobile-ffmpeg/prebuilt/android-arm64/libogg/lib -lvorbis -lm -logg -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libvpx/lib -lvpx -lm -L/files/android-sdk/ndk-bundle/sources/android/cpufeatures -lcpufeatures -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libwebp/lib -lwebp -lwebpdecoder -lwebpdemux -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libxml2/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libiconv/lib -lxml2 -lz -lm -liconv -lcharset -L/ho 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: me/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/opencore-amr/lib -lopencore-amrnb -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/opencore-amr/lib -lopencore-amrwb -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/shine/lib -lm -lshine -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/speex/lib -lspeex -lm -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/wavpack/lib -lwavpack -lm -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/kvazaar/lib -lkvaz 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: aar -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/x264/lib -lx264 -lm -ldl -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/xvidcore/lib -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libilbc/lib -lilbc -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/opus/lib -lopus -lm -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/snappy/lib -lz -lstdc++ -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/soxr/lib -lsoxr -L/home/taner/Projects/mobile- 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: ffmpeg/prebuilt/android-arm64/libaom/lib -laom -lm -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libogg/lib -logg -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libpng/lib -L/files/android-sdk/ndk-bundle/platforms/android-21/arch-arm64/usr/lib -lpng16 -lm -lz -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/libuuid/lib -luuid -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/nettle/lib -lnettle -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/nettl 2018-09-06 11:17:16.764 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: e/lib -lhogweed -lgmp -lnettle -L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/expat/lib -lexpat -L/files/android-sdk/ndk-bundle/platforms/android-21/arch-arm64/usr/lib -lz -L/files/android-sdk/ndk-bundle/platforms/android-21/arch-arm64/usr/lib' --enable-version3 --arch=aarch64 --cpu=armv8-a --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-small --enable-swscale --enable-shared --disable-openssl - 2018-09-06 11:17:16.765 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: -disable-xmm-clobber-test --disable-debug --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-sdl2 --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disab 2018-09-06 11:17:16.765 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: le-vdpau --disable-videotoolbox --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libx264 --enable-gpl --enable-libxvid --enable-gpl --enable-libilbc --enable-libopus --enable-libsnappy --en 2018-09-06 11:17:16.765 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: able-libsoxr --enable-libaom --enable-zlib --enable-mediacodec libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libswresample 3. 1.100 / 3. 1.100 2018-09-06 11:17:16.914 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sdcard/demb.mp4': 2018-09-06 11:17:16.914 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Metadata: 2018-09-06 11:17:16.914 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: major_brand : 2018-09-06 11:17:16.914 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: isom 2018-09-06 11:17:16.914 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: minor_version : 2018-09-06 11:17:16.914 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 512 2018-09-06 11:17:16.914 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: compatible_brands: 2018-09-06 11:17:16.914 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: isomiso2avc1mp41 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: creation_time : 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 2018-07-14T09:07:25.000000Z 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: encoder : 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Lenovo Game Recorder 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Duration: 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 00:00:20.80 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: , start: 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 0.000000 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: , bitrate: 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 8079 kb/s 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Stream #0:0 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: (eng) 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 3 kb/s 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: (default) 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Metadata: 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: creation_time : 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 2018-07-14T09:07:25.000000Z 2018-09-06 11:17:16.915 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: handler_name : 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Sound Media Handler 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Stream #0:1 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: (und) 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: : Video: h264 (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt470m), 1920x1080 [SAR 1:1 DAR 16:9], 8078 kb/s 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: , 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 40 fps, 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 40 tbr, 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 1k tbn, 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 80 tbc 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: (default) 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Metadata: 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: creation_time : 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: 2018-07-14T09:07:25.000000Z 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: handler_name : 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Video Media Handler 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: encoder : 2018-09-06 11:17:16.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: AVC Coding 2018-09-06 11:17:16.925 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Stream mapping: Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:0 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A 2018-09-06 11:17:16.999 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [Parsed_subtitles_0 @ 0x7678b7eb80] Shaper: FriBidi 1.0.4 (SIMPLE) 2018-09-06 11:17:17.004 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Fontconfig error: Cannot load default config file 2018-09-06 11:17:17.004 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [Parsed_subtitles_0 @ 0x7678b7eb80] No usable fontconfig configuration file found, using fallback. Fontconfig error: Cannot load default config file 2018-09-06 11:17:17.004 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [Parsed_subtitles_0 @ 0x7678b7eb80] Using font provider fontconfig 2018-09-06 11:17:17.011 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [libx264 @ 0x765b999b00] using SAR=1/1 2018-09-06 11:17:17.012 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [libx264 @ 0x765b999b00] using cpu capabilities: ARMv8 NEON 2018-09-06 11:17:17.018 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [libx264 @ 0x765b999b00] profile High, level 4.2 2018-09-06 11:17:17.019 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [libx264 @ 0x765b999b00] 264 - core 152 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 w 2018-09-06 11:17:17.019 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: eightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 2018-09-06 11:17:17.387 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Output #0, mp4, to 'sdcard/outhard.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.12.100 Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 40 fps, 10240 tbn, 40 tbc (default) Metadata: creation_time : 2018-07-14T09:07:25.000000Z handler_name : Video Media Handler encoder : Lavc58.18.100 libx264 Side da 2018-09-06 11:17:17.387 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: ta: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: creation_time : 2018-07-14T09:07:25.000000Z handler_name : Sound Media Handler encoder : Lavc58.18.100 aac 2018-09-06 11:17:17.436 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 21 fps=0.0 q=0.0 size= 0kB time=00:00:00.02 bitrate= 18.0kbits/s speed=0.0418x 2018-09-06 11:17:18.373 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 46 fps= 32 q=0.0 size= 0kB time=00:00:00.66 bitrate= 0.6kbits/s speed=0.457x 2018-09-06 11:17:18.916 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 62 fps= 32 q=30.0 size= 0kB time=00:00:01.02 bitrate= 0.4kbits/s speed=0.522x 2018-09-06 11:17:19.412 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 75 fps= 30 q=30.0 size= 0kB time=00:00:01.36 bitrate= 0.3kbits/s speed=0.549x 2018-09-06 11:17:19.918 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 87 fps= 29 q=30.0 size= 0kB time=00:00:01.68 bitrate= 0.2kbits/s speed=0.564x 2018-09-06 11:17:20.477 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 103 fps= 29 q=30.0 size= 0kB time=00:00:02.09 bitrate= 0.2kbits/s speed=0.591x 2018-09-06 11:17:21.007 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 115 fps= 28 q=30.0 size= 0kB time=00:00:02.38 bitrate= 0.2kbits/s speed=0.586x 2018-09-06 11:17:21.528 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 130 fps= 28 q=30.0 size= 0kB time=00:00:02.77 bitrate= 0.1kbits/s speed=0.603x 2018-09-06 11:17:22.037 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 145 fps= 28 q=30.0 size= 0kB time=00:00:03.13 bitrate= 0.1kbits/s speed=0.614x 2018-09-06 11:17:22.545 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 159 fps= 28 q=30.0 size= 0kB time=00:00:03.49 bitrate= 0.1kbits/s speed=0.623x 2018-09-06 11:17:23.067 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 166 fps= 27 q=30.0 size= 0kB time=00:00:03.66 bitrate= 0.1kbits/s speed=0.598x 2018-09-06 11:17:23.578 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 181 fps= 27 q=30.0 size= 0kB time=00:00:04.03 bitrate= 0.1kbits/s speed=0.606x 2018-09-06 11:17:24.121 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 194 fps= 27 q=30.0 size= 0kB time=00:00:04.37 bitrate= 0.1kbits/s speed=0.608x 2018-09-06 11:17:24.674 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 210 fps= 27 q=30.0 size= 0kB time=00:00:04.75 bitrate= 0.1kbits/s speed=0.616x 2018-09-06 11:17:25.187 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 223 fps= 27 q=30.0 size= 0kB time=00:00:05.09 bitrate= 0.1kbits/s speed=0.617x 2018-09-06 11:17:25.703 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 237 fps= 27 q=30.0 size= 0kB time=00:00:05.44 bitrate= 0.1kbits/s speed=0.62x 2018-09-06 11:17:26.240 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 253 fps= 27 q=30.0 size= 0kB time=00:00:05.82 bitrate= 0.1kbits/s speed=0.627x 2018-09-06 11:17:26.721 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 267 fps= 27 q=30.0 size= 0kB time=00:00:06.20 bitrate= 0.1kbits/s speed=0.634x 2018-09-06 11:17:27.224 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 281 fps= 27 q=30.0 size= 256kB time=00:00:06.54 bitrate= 320.3kbits/s speed=0.636x 2018-09-06 11:17:27.797 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 295 fps= 27 q=30.0 size= 256kB time=00:00:06.89 bitrate= 304.4kbits/s speed=0.635x 2018-09-06 11:17:28.403 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 307 fps= 27 q=30.0 size= 256kB time=00:00:07.18 bitrate= 291.8kbits/s speed=0.626x 2018-09-06 11:17:28.912 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 324 fps= 27 q=30.0 size= 256kB time=00:00:07.61 bitrate= 275.4kbits/s speed=0.635x 2018-09-06 11:17:29.412 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 337 fps= 27 q=30.0 size= 256kB time=00:00:07.95 bitrate= 263.6kbits/s speed=0.637x 2018-09-06 11:17:30.356 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 344 fps= 26 q=30.0 size= 512kB time=00:00:08.12 bitrate= 516.1kbits/s speed=0.605x 2018-09-06 11:17:30.864 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 362 fps= 26 q=30.0 size= 512kB time=00:00:08.57 bitrate= 489.1kbits/s speed=0.615x 2018-09-06 11:17:31.380 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 375 fps= 26 q=30.0 size= 512kB time=00:00:08.91 bitrate= 470.4kbits/s speed=0.617x 2018-09-06 11:17:31.937 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 385 fps= 26 q=30.0 size= 512kB time=00:00:09.15 bitrate= 458.3kbits/s speed=0.61x 2018-09-06 11:17:32.458 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 398 fps= 26 q=30.0 size= 512kB time=00:00:09.47 bitrate= 442.9kbits/s speed=0.611x 2018-09-06 11:17:32.948 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 414 fps= 26 q=30.0 size= 512kB time=00:00:09.85 bitrate= 425.6kbits/s speed=0.616x 2018-09-06 11:17:33.467 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 429 fps= 26 q=30.0 size= 512kB time=00:00:10.26 bitrate= 408.8kbits/s speed=0.621x 2018-09-06 11:17:34.007 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 445 fps= 26 q=30.0 size= 768kB time=00:00:10.62 bitrate= 592.2kbits/s speed=0.623x 2018-09-06 11:17:34.487 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 460 fps= 26 q=30.0 size= 768kB time=00:00:11.02 bitrate= 570.5kbits/s speed=0.629x 2018-09-06 11:17:35.035 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 476 fps= 26 q=30.0 size= 768kB time=00:00:11.43 bitrate= 550.2kbits/s speed=0.631x 2018-09-06 11:17:35.535 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 491 fps= 26 q=30.0 size= 768kB time=00:00:11.81 bitrate= 532.4kbits/s speed=0.635x 2018-09-06 11:17:36.087 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 508 fps= 27 q=30.0 size= 768kB time=00:00:12.24 bitrate= 513.8kbits/s speed=0.639x 2018-09-06 11:17:36.588 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 523 fps= 27 q=30.0 size= 768kB time=00:00:12.60 bitrate= 499.0kbits/s speed=0.641x 2018-09-06 11:17:37.127 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 538 fps= 27 q=30.0 size= 768kB time=00:00:12.99 bitrate= 484.3kbits/s speed=0.643x 2018-09-06 11:17:37.635 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 550 fps= 27 q=30.0 size= 768kB time=00:00:13.29 bitrate= 473.4kbits/s speed=0.642x 2018-09-06 11:17:38.138 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 565 fps= 27 q=30.0 size= 768kB time=00:00:13.65 bitrate= 460.8kbits/s speed=0.644x 2018-09-06 11:17:38.651 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 582 fps= 27 q=30.0 size= 768kB time=00:00:14.08 bitrate= 446.9kbits/s speed=0.648x 2018-09-06 11:17:39.154 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 597 fps= 27 q=30.0 size= 768kB time=00:00:14.46 bitrate= 435.0kbits/s speed=0.651x 2018-09-06 11:17:39.704 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 613 fps= 27 q=30.0 size= 768kB time=00:00:14.84 bitrate= 423.8kbits/s speed=0.652x 2018-09-06 11:17:40.290 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 631 fps= 27 q=30.0 size= 768kB time=00:00:15.29 bitrate= 411.3kbits/s speed=0.655x 2018-09-06 11:17:40.802 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 648 fps= 27 q=30.0 size= 768kB time=00:00:15.74 bitrate= 399.6kbits/s speed=0.659x 2018-09-06 11:17:41.327 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 663 fps= 27 q=30.0 size= 768kB time=00:00:16.10 bitrate= 390.6kbits/s speed=0.66x 2018-09-06 11:17:41.833 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 682 fps= 27 q=30.0 size= 768kB time=00:00:16.57 bitrate= 379.6kbits/s speed=0.666x 2018-09-06 11:17:42.340 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 696 fps= 27 q=30.0 size= 768kB time=00:00:16.93 bitrate= 371.4kbits/s speed=0.667x 2018-09-06 11:17:42.849 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 714 fps= 28 q=30.0 size= 768kB time=00:00:17.38 bitrate= 361.9kbits/s speed=0.671x 2018-09-06 11:17:43.367 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 728 fps= 28 q=30.0 size= 768kB time=00:00:17.72 bitrate= 354.9kbits/s speed=0.671x 2018-09-06 11:17:43.864 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 746 fps= 28 q=30.0 size= 768kB time=00:00:18.17 bitrate= 346.2kbits/s speed=0.675x 2018-09-06 11:17:44.373 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 761 fps= 28 q=30.0 size= 768kB time=00:00:18.56 bitrate= 339.0kbits/s speed=0.676x 2018-09-06 11:17:44.895 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 777 fps= 28 q=30.0 size= 768kB time=00:00:18.96 bitrate= 331.8kbits/s speed=0.678x 2018-09-06 11:17:45.397 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 793 fps= 28 q=30.0 size= 768kB time=00:00:19.37 bitrate= 324.8kbits/s speed=0.68x 2018-09-06 11:17:46.027 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 807 fps= 28 q=30.0 size= 1024kB time=00:00:19.71 bitrate= 425.6kbits/s speed=0.677x 2018-09-06 11:17:46.557 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 826 fps= 28 q=30.0 size= 1024kB time=00:00:20.11 bitrate= 417.0kbits/s speed=0.679x 2018-09-06 11:17:47.795 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame= 832 fps= 27 q=-1.0 Lsize= 1175kB time=00:00:20.72 bitrate= 464.3kbits/s speed=0.671x video:1145kB audio:6kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.119483% 2018-09-06 11:17:47.824 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [libx264 @ 0x765b999b00] 2018-09-06 11:17:47.824 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: frame I:4 Avg QP:16.49 size:156655 [libx264 @ 0x765b999b00] frame P:213 Avg QP:22.54 size: 1895 [libx264 @ 0x765b999b00] frame B:615 Avg QP:32.90 size: 230 [libx264 @ 0x765b999b00] consecutive B-frames: 1.1% 1.0% 0.4% 97.6% [libx264 @ 0x765b999b00] mb I I16..4: 45.9% 27.0% 27.1% [libx264 @ 0x765b999b00] mb P I16..4: 0.7% 0.9% 0.3% P16..4: 0.6% 0.1% 0.0% 0.0% 0.0% skip:97.5% [libx264 @ 0x765b999b00] mb B I16..4: 0.0% 0.2% 0.0% B16..8: 0.8% 0.0% 0.0% direct: 0.0% skip 2018-09-06 11:17:47.824 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: :98.8% L0:51.0% L1:49.0% BI: 0.1% [libx264 @ 0x765b999b00] 8x8 transform intra:45.0% inter:53.5% [libx264 @ 0x765b999b00] coded y,uvDC,uvAC intra: 13.1% 15.8% 14.7% inter: 0.0% 0.1% 0.0% [libx264 @ 0x765b999b00] i16 v,h,dc,p: 53% 46% 0% 0% [libx264 @ 0x765b999b00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 7% 62% 0% 0% 0% 0% 0% 0% [libx264 @ 0x765b999b00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 32% 18% 2% 3% 3% 3% 3% 4% 2018-09-06 11:17:47.824 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [libx264 @ 0x765b999b00] i8c dc,h,v,p: 77% 14% 8% 0% [libx264 @ 0x765b999b00] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x765b999b00] ref P L0: 66.7% 6.7% 23.0% 3.7% [libx264 @ 0x765b999b00] ref B L0: 66.1% 31.9% 2.0% [libx264 @ 0x765b999b00] 2018-09-06 11:17:47.824 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: ref B L1: 95.9% 4.1% [libx264 @ 0x765b999b00] kb/s:450.53 2018-09-06 11:17:47.935 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: [aac @ 0x763b7b3e00] 2018-09-06 11:17:47.936 30049-30252/com.example.n.myapplication D/mobile-ffmpeg: Qavg: 65536.000

from mobile-ffmpeg.

tanersener avatar tanersener commented on August 27, 2024

Fontconfig error: Cannot load default config file
No usable fontconfig configuration file found, using fallback. Fontconfig error: Cannot load default config file

According to this message, a valid font configuration is not found. In Android you may need to manually provide a font to burn subtitles. You are using v2.0, in v2.1 new font configuration operations are implemented. Could you please check them from android/test-app on current master?

from mobile-ffmpeg.

shoyu666 avatar shoyu666 commented on August 27, 2024

thanks for you help v2.1 test-app works find

ps: i wonder why mp4 file down Bit rate (22MB --> 6MB) after add subtitle (same result use ffmpeg.exe in windows)

from mobile-ffmpeg.

tanersener avatar tanersener commented on August 27, 2024

Do you specify a video codec like -c:v <video codec> in burn subtitles command? Sometimes x264 codec used if you do not specify a video codec, which decreases size.

from mobile-ffmpeg.

shoyu666 avatar shoyu666 commented on August 27, 2024

@tanersener you are so kind , thanks

from mobile-ffmpeg.

rafaismyname avatar rafaismyname commented on August 27, 2024

Hey @tanersener, how's going?

Sorry revive such old issue, but i'm facing the very same issue (works well on iOS, but no subtitles are shown for Android).
I'm using the full version through react-native-ffmpeg.

My subtitles file content:

[Script Info]
ScriptType: v4.00+
WrapStyle: 0
   
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: DefaultBlack,Open Sans,25,&H00000000,&H00000000,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,0,0,2,10,10,10,1
Style: DefaultWhite,Open Sans,25,&H00FFFFFF,&H00FFFFFF,&H00FFFFFF,&H00FFFFFF,0,0,0,0,100,100,0,0,1,0,0,2,10,10,10,1
   
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
   
Dialogue: 0,0:00:00.00,1:00:00.00,DefaultBlack,,0,0,0,,{\pos(195,45)}Lorem Ipsum
   
Dialogue: 0,0:00:00.00,1:00:00.00,DefaultBlack,,0,0,0,,{\pos(195,265)}dolor sit amet

The command to generate the video:

-i /storage/emulated/0/DCIM/Camera/VID_20190508_185713.mp4 -ss 0 -to 3.51 -vf scale=720:410:force_original_aspect_ratio=decrease,pad=720:720:(ow-iw)/2:(oh-ih)/2:white,ass=/data/user/0/app.fftest.app/cache/VID_20190508_185713-mp4-subtitles.ass /data/user/0/app.fftest.app/cache/VID_20190508_185713-mp4-1557355835560.mp4

Process logs:

ClipService.js:42 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/DCIM/Camera/VID_20190508_185713.mp4':

ClipService.js:42   Metadata:

ClipService.js:42     major_brand     : 
ClipService.js:42 mp42

ClipService.js:42     minor_version   : 
ClipService.js:42 0

ClipService.js:42     compatible_brands: 
ClipService.js:42 isommp42

ClipService.js:42     creation_time   : 
ClipService.js:42 2019-05-08T21:57:18.000000Z

ClipService.js:42     location        : 
ClipService.js:42 -x-043.9672/

ClipService.js:42     location-eng    : 
ClipService.js:42 -x-043.9672/

ClipService.js:42     com.android.version: 
ClipService.js:42 8.1.0

ClipService.js:42   Duration: 
ClipService.js:42 00:00:03.51
ClipService.js:42 , start: 
ClipService.js:42 0.000000
ClipService.js:42 , bitrate: 
ClipService.js:42 21053 kb/s

ClipService.js:42     Stream #0:0
ClipService.js:42 (eng)
ClipService.js:42 : Video: h264 (avc1 / 0x31637661), yuvj420p(pc, smpte170m), 1920x1080, 20032 kb/s
ClipService.js:42 , SAR 1:1 DAR 16:9
ClipService.js:42 , 
ClipService.js:42 23.93 fps, 
ClipService.js:42 23.92 tbr, 
ClipService.js:42 90k tbn, 
ClipService.js:42 180k tbc
ClipService.js:42  (default)

ClipService.js:42     Metadata:

ClipService.js:42       rotate          : 
ClipService.js:42 180

ClipService.js:42       creation_time   : 
ClipService.js:42 2019-05-08T21:57:18.000000Z

ClipService.js:42       handler_name    : 
ClipService.js:42 VideoHandle

ClipService.js:42     Side data:

ClipService.js:42       
ClipService.js:42 displaymatrix: rotation of -180.00 degrees

ClipService.js:42     Stream #0:1
ClipService.js:42 (eng)
ClipService.js:42 : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 95 kb/s
ClipService.js:42  (default)

ClipService.js:42     Metadata:

ClipService.js:42       creation_time   : 
ClipService.js:42 2019-05-08T21:57:18.000000Z

ClipService.js:42       handler_name    : 
ClipService.js:42 SoundHandle

ClipService.js:42 Stream mapping:

ClipService.js:42   Stream #0:0 -> #0:0
ClipService.js:42  (h264 (native) -> mpeg4 (native))

ClipService.js:42   Stream #0:1 -> #0:1
ClipService.js:42  (aac (native) -> aac (native))

ClipService.js:42 Press [q] to stop, [?] for help

ClipService.js:42 frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A    
ClipService.js:42 [Parsed_ass_2 @ 0x7eef5709c0] 
ClipService.js:42 Shaper: FriBidi 1.0.5 (SIMPLE)
ClipService.js:42 [Parsed_ass_2 @ 0x7eef5709c0] 

ClipService.js:42 [Parsed_ass_2 @ 0x7eef5709c0] 
ClipService.js:42 Using font provider fontconfig
ClipService.js:42 [Parsed_ass_2 @ 0x7eef5709c0] 

ClipService.js:42 [Parsed_ass_2 @ 0x7eef5709c0] 
ClipService.js:42 Added subtitle file: '/data/user/0/app.fftest.app/cache/VID_20190508_185713-mp4-subtitles.ass' (3 styles, 2 events)
ClipService.js:42 [Parsed_ass_2 @ 0x7eef5709c0] 

ClipService.js:42 [swscaler @ 0x7ee61f1000] 
ClipService.js:42 deprecated pixel format used, make sure you did set range correctly

ClipService.js:42 [Parsed_ass_2 @ 0x7eef5709c0] 
ClipService.js:42 Neither PlayResX nor PlayResY defined. Assuming 384x288
ClipService.js:42 [Parsed_ass_2 @ 0x7eef5709c0] 

ClipService.js:42 Output #0, mp4, to '/data/user/0/app.fftest.app/cache/VID_20190508_185713-mp4-1557355835560.mp4':

ClipService.js:42   Metadata:

ClipService.js:42     major_brand     : 
ClipService.js:42 mp42

ClipService.js:42     minor_version   : 
ClipService.js:42 0

ClipService.js:42     compatible_brands: 
ClipService.js:42 isommp42

ClipService.js:42     com.android.version: 
ClipService.js:42 8.1.0

ClipService.js:42     location        : 
ClipService.js:42 -x-043.9672/

ClipService.js:42     location-eng    : 
ClipService.js:42 -x-043.9672/

ClipService.js:42     encoder         : 
ClipService.js:42 Lavf58.26.101

ClipService.js:42     Stream #0:0
ClipService.js:42 (eng)
ClipService.js:42 : Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 720x720 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s
ClipService.js:42 , 
ClipService.js:42 23.92 fps, 
ClipService.js:42 18368 tbn, 
ClipService.js:42 23.92 tbc
ClipService.js:42  (default)

ClipService.js:42     Metadata:

ClipService.js:42       encoder         : 
ClipService.js:42 Lavc58.47.106 mpeg4

ClipService.js:42       creation_time   : 
ClipService.js:42 2019-05-08T21:57:18.000000Z

ClipService.js:42       handler_name    : 
ClipService.js:42 VideoHandle

ClipService.js:42     Side data:

ClipService.js:42       
ClipService.js:42 cpb: 
ClipService.js:42 bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1

ClipService.js:42       
ClipService.js:42 displaymatrix: rotation of -0.00 degrees

ClipService.js:42     Stream #0:1
ClipService.js:42 (eng)
ClipService.js:42 : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s
ClipService.js:42  (default)

ClipService.js:42     Metadata:

ClipService.js:42       creation_time   : 
ClipService.js:42 2019-05-08T21:57:18.000000Z

ClipService.js:42       handler_name    : 
ClipService.js:42 SoundHandle

ClipService.js:42       encoder         : 
ClipService.js:42 Lavc58.47.106 aac

ClipService.js:42 frame=    4 fps=0.0 q=2.2 size=       0kB time=00:00:01.00 bitrate=   0.4kbits/s speed=1.99x    
ClipService.js:42 frame=   14 fps= 14 q=27.3 size=       0kB time=00:00:01.00 bitrate=   0.4kbits/s speed=0.98x    
ClipService.js:42 frame=   22 fps= 14 q=31.0 size=       0kB time=00:00:02.00 bitrate=   0.2kbits/s speed= 1.3x    
ClipService.js:42 frame=   32 fps= 16 q=31.0 size=       0kB time=00:00:02.00 bitrate=   0.2kbits/s speed=0.98x    
ClipService.js:42 frame=   42 fps= 16 q=31.0 size=     256kB time=00:00:02.02 bitrate=1033.7kbits/s speed=0.781x    
ClipService.js:42 frame=   51 fps= 16 q=31.0 size=     256kB time=00:00:03.01 bitrate= 696.7kbits/s speed=0.966x    
ClipService.js:42 frame=   62 fps= 17 q=31.0 size=     256kB time=00:00:03.01 bitrate= 696.7kbits/s speed=0.823x    
ClipService.js:42 frame=   73 fps= 17 q=24.8 size=     256kB time=00:00:03.01 bitrate= 696.7kbits/s speed=0.719x    
ClipService.js:42 frame=   83 fps= 18 q=31.0 size=     256kB time=00:00:03.45 bitrate= 606.5kbits/s speed=0.734x    
ClipService.js:42 frame=   84 fps= 17 q=31.0 Lsize=     366kB time=00:00:03.50 bitrate= 857.3kbits/s speed=0.728x    

ClipService.js:42 video:306kB audio:57kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 
ClipService.js:42 0.874092%

ClipService.js:42 [aac @ 0x7ee71ca200] 
ClipService.js:42 Qavg: 1050.495

Could you help figuring out how to solve this issue?
This is the only issue holding us from release!

And, again, thanks for the awesome work!!!

Best regards!

from mobile-ffmpeg.

tanersener avatar tanersener commented on August 27, 2024

Hi @rafaismyname,

As far as I remember IOS does include a default fontconfig configuration but Android does not. So if yo do not register a font or a fontconfig configuration under Android then burning subtitles does not work.

Can you try registering a font using RNFFmpeg.setFontDirectory?

from mobile-ffmpeg.

rafaismyname avatar rafaismyname commented on August 27, 2024

@tanersener,

It turns out that i was already setting RNFFmpeg.setFontDirectory for both iOS and Android :(

This is the function that I use to run my FFmpeg commands:

const execFFMPEG = async (input, commands, output) => {
  RNFFmpeg.disableLogs();
  RNFFmpeg.disableStatistics();
  RNFFmpeg.setFontDirectory(RNFS.MainBundlePath, null);

  await RNFFmpeg.execute(`-i ${input} ${commands} ${output}`, ' ');

  return `file://${output}`;
};

Any other thoughts?

from mobile-ffmpeg.

tanersener avatar tanersener commented on August 27, 2024

RNFS.MainBundlePath is undefined under Android. So I think your RNFFmpeg.setFontDirectory(RNFS.MainBundlePath, null) function call has no effect.

setFontDirectory function call prints the following debug logs to logcat. Can your check your logs and confirm that they are printed?

D/mobile-ffmpeg: Saved new temporary font configuration with 1 font name mappings.
D/mobile-ffmpeg: Font directory /data/user/0/com.arthenica.mobileffmpeg.test/cache registered successfully.

from mobile-ffmpeg.

tanersener avatar tanersener commented on August 27, 2024

@rafaismyname Great 👍

Do you mind adding this to react-native-ffmpeg's Tips section? This would for sure help lots of other users that gets tangled up with this whole "setFontDirectory" situation :)

Thanks. I added the following text in the TIPS section. I hope it is clear.

  • 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 RNFFmpeg.setFontDirectory method or specifying your own fontconfig configuration using RNFFmpeg.setFontconfigConfigurationPath method.

from mobile-ffmpeg.

karimjava avatar karimjava commented on August 27, 2024

i use android ffmpeg native android not react native but
i don't know how to add fontconfig and where to add it

from mobile-ffmpeg.

wnpllrzodiac avatar wnpllrzodiac commented on August 27, 2024

meet the same problem.cannot burn subtitle into video with no error out

from mobile-ffmpeg.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.