1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

MG 1.1 libvo_aacenc or acc

Discussion in 'Media Gallery Support' started by gotski, Mar 1, 2016.

  1. gotski

    gotski Member

    Hello, my build ffmpeg have a audio codec libvo_aacenc, but if I upload a not mp4 files, I received error: "Unfortunately, the video file you uploaded named test could not be processed. Please upload a different video and try again."

    I replace a:

    '-y -i {input} -vcodec libx264 -acodec {acodec} -ar 48000 -ac 2 -movflags faststart {output}'

    to

    '-y -i {input} -vcodec libx264 -acodec libvo_aacenc -ar 48000 -ac 2 -movflags faststart {output}',

    It helped me, but I think that this is not the correct solution for next updates, the next update I'll have to edit the code again.

    Thank you!
     
  2. Chris D

    Chris D XenForo Developer Staff Member

    There should be no reason to edit the code.

    What version of FFmpeg did you build? If you revert that code change then go to Gallery Options > Video Options and click Save Changes, do you get any error related to FFmpeg?
     
  3. gotski

    gotski Member

    not, I don't receive any errors
     
  4. gotski

    gotski Member

    ffmpeg version 1.0.10 Copyright (c) 2000-2014 the FFmpeg developers
    built on Jul 25 2014 07:50:40 with gcc 4.7 (Debian 4.7.2-5)
    configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' --extra-ldflags='-Wl,-z,relro' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl --enable-libass --enable-libopus --enable-fontconfig --enable-libfdk-aac --enable-libdc1394 --disable-altivec --dis libavutil 51. 73.101 / 51. 73.101
    libavcodec 54. 59.100 / 54. 59.100
    libavformat 54. 29.104 / 54. 29.104
    libavdevice 54. 2.101 / 54. 2.101
    libavfilter 3. 17.100 / 3. 17.100
    libswscale 2. 1.101 / 2. 1.101
    libswresample 0. 15.100 / 0. 15.100
    libpostproc 52. 0.100 / 52. 0.100
     
  5. Chris D

    Chris D XenForo Developer Staff Member

    Well, that taught me something interesting which I missed in my previous testing.

    At some point for a (currently) unknown period of time, FFmpeg shipped an experimental aac encoder alongside having compatibility for libvo_aacenc.

    We added some code in XFMG 1.1.5 which added compatibility with FFmpeg 3.0 which now includes the aac encoder as standard. The logic in the code was preferring to use aac if it was found. I've actually just made a switch so it prefers to use libvo_aacenc instead so that should solve this problem.

    My current recommendation is to upgrade FFmpeg. The version you are using, although we somewhat protect against it in our most recent release, has a major security flaw.

    I recommend downloading and using an FFmpeg static build which you can get from here:
    http://johnvansickle.com/ffmpeg/

    There should be no compilation necessary. Download and extract the files, and either put the ffmpeg binary in a suitable location and update the path in Video Options.

    You'll then be using version 3 which will protect against the vulnerability we discussed here: https://xenforo.com/community/threads/potential-ffmpeg-security-vulnerability.111630/
     
    gotski likes this.
  6. gotski

    gotski Member

    Thank you Chris, I can try
     
  7. gotski

    gotski Member

    I installed a static build from your url, it work without any errors and code modification. Thank you
     
    Chris D likes this.
  8. gotski

    gotski Member

    Problem with video conversion again,

    video.php 1.1.5 version

    Code:
            $aCodec = reset($this->_actualAacEncoders);
    
            $this->_runFfmpegCommand(
                '-y -i {input} -vcodec libx264 -acodec {acodec} -ar 48000 -ac 2 -movflags faststart {output}',
                array(
                    'input' => $inputFile,
                    'acodec' => $aCodec ? $aCodec : 'aac',
                    'output' => $outputFile
                )
            );
    in video.php 1.1.6 version

    Code:
            $aCodec = null;
            $aCodecs = array_flip($this->_actualAacEncoders);
            if ($aCodecs)
            {
                $aCodec = reset($aCodecs);
            }
    
            $this->_runFfmpegCommand(
                '-y -i {input} -vcodec libx264 -acodec {acodec} -ar 48000 -ac 2 -movflags faststart {output}',
                array(
                    'input' => $inputFile,
                    'acodec' => $aCodec ? $aCodec : 'libvo_aacenc',
                    'output' => $outputFile
                )
            );
    Now after this update I again received errors:
    XenForo_Exception: Video uploaded by test named test3 failed to be transcoded. - library/XenGallery/Helper/Video.php:580

    I have a FFmpeg static build from http://johnvansickle.com/ffmpeg/

    now, I have a two questions:

    1. Why need this update in 1.1.6?
    2. What I need to do to convert video to work, without interfering with the code of Media Gallery

    Thank you.
     
    Last edited: Apr 6, 2016
  9. Chris D

    Chris D XenForo Developer Staff Member

    gotski likes this.
  10. gotski

    gotski Member

Share This Page