2015-06-03 1 views
2

Я использую библиотеку поддержки FFMPEG, чтобы конвертировать кучу изображений в видео. Он отлично работает на более ранней версии леденца. Но в леденец он генерирует следующую ошибку. ***error: only position independent executables (PIE) are supported.*** Я знаю, что ограничения PIE Security были изменены в леденец, но я не знаю, как это исправить."поддерживаются только независимые исполняемые файлы (PIE)"

Из моих знаний могут иметь два возможных решения,

либо

нам нужно переместить ресурсы библиотеки FFmpeg к SDCard и мы должны передать их из нашего кодирования, если это ответ, что все шаги, которые необходимо соблюдать?

или

Есть ли обновление в библиотеке FFMPEG для андроид леденца.

Если вы ошиблись, вы можете предоставить мне правильное решение.

Большое спасибо ...

Вот мой код

try { 
      String[] ffmpegCommand = {"/data/data/com.mobvcasting.mjpegffmpeg/ffmpeg", "-r", ""+p.getPreviewFrameRate(), "-b", "1000000", "-vcodec", "mjpeg", "-i", 
        Environment.getExternalStorageDirectory().getPath() + "/req_images/frame_%05d.jpg", Environment.getExternalStorageDirectory().getPath() + "/req_images/video.mov"}; 

      ffmpegProcess = new ProcessBuilder(ffmpegCommand).redirectErrorStream(true).start();    

      OutputStream ffmpegOutStream = ffmpegProcess.getOutputStream(); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(ffmpegProcess.getInputStream())); 

      String line; 

      Log.v(LOGTAG,"***Starting FFMPEG***"); 
      while ((line = reader.readLine()) != null) 
      { 
       Log.v(LOGTAG,"***"+line+"***"); 
      } 
      Log.v(LOGTAG,"***Ending FFMPEG***"); 


     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     if (ffmpegProcess != null) { 
      ffmpegProcess.destroy();   
     } 

ответ

4

Вам не нужно FFmpeg "обновление". PIE - это настройка времени компиляции. Вы можете просто скомпилировать его с помощью набора параметров PIE.

CFLAGS="-fPIE -pie"

увидеть здесь: https://github.com/danielkop/android-ffmpeg/commit/616a099151fb6be05b559adc4c9ed95afacd92c2

+0

Спасибо szatmary. Вы имеете в виду, мне нужно скомпилировать FFMPEG с помощью NDK? – Karthikeyan

Смежные вопросы