You are not logged in.
Hi to everyone:
I'm trying to convert some MTS video files to MP4 format, via ffmpeg:
[user@localhost ~]$ /usr/bin/ffmpeg -y -i "/home/user/Videos/00000.MTS" -crf 20.0 -vcodec libx264 -filter:v scale=1280:720 -preset slow -acodec libvo-aacenc -ar 48000 -b:a 128k -coder 1 -flags +loop -cmp chroma -partitions +parti4x4+partp8x8+partb8x8 -me_method hex -subq 6 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -threads 0 "/home/user/Videos/00000.mp4"
But the console shows me these messages:
ffmpeg version 2.8 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 5.2.0 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-shared --enable-version3 --enable-x11grab
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mpegts, from '/home/user/Videos/00000.MTS':
Duration: 00:06:26.40, start: 1.033367, bitrate: 4771 kb/s
Program 1
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 256 kb/s
Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080
Unknown encoder 'libvo-aacenc'
[user@localhost ~]$
Where can I get / how to install libvo-aacenc encoder?
Offline
libvo-aacenc is quite crappy (and not available in Arch, not even in AUR), use libfdk-aac instead. You'll need to recompile ffmpeg - first install libfdk-aac (this one is in Arch), then adjust the ffmpeg PKGBUILD by adding --enable-nonfree and --enable-libfdk-aac to the other options passed to ./configure. Instructions to use libfdk: https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_aac
PS. Those are very crappy libx264 settings. Just use presets and tuning ("-tune film" or "-tune animation" depending on what you're encoding), the "slower" preset is what I use, "veryslow" is cool if you have a really fast CPU (like Core i7).
Last edited by Gusar (2015-10-05 16:32:20)
Offline
libfdk-aac is better and recommended, but if you don't feel like compiling then the next best/easiest method is to just give the native AAC encoder (-c:a aac -strict experimental) enough bits and you'll be fine. Lots of work has been done on it lately so it has been improved and the "experimental" status is going to be removed sooner than later. See the native AAC encoder section in the link Gusar provided.
You already declared a preset, so no need to use cargo-cult options: everything from "coder" to "threads" can be removed.
Consider adding "-movflags +faststart" if the video will be viewed via progressive download.
Offline