Conversion to HEVC with Handbrake produces "good" output, but using ffmpeg produces "bad" output

HandBrake for Mac support
Forum rules
An Activity Log is required for support requests. Please read How-to get an activity log? for details on how and why this should be provided.
Post Reply
GabrielZ
New User
Posts: 1
Joined: Mon Apr 29, 2019 1:38 pm

Conversion to HEVC with Handbrake produces "good" output, but using ffmpeg produces "bad" output

Post by GabrielZ »

Description of problem or question:

I have a video
( https://www.dropbox.com/s/01rg7rgarqfru ... t.mov?dl=0 )
that I want to convert to HEVC (H265).

When I convert it using Handbrake, it produces an output file that I can then include in a presentation in Keynote.

When I convert it using ffmpeg on the command line myself, then the output cannot be included in a Keynote presentation;
the error message I get is "Operation could not be completed".
The ffmpeg version plays fine in Quicktime Player, though.
I have already googled, but could not find a solution to the mystery.
Also, I have already looked at Handbrake's Activity Log, but could not find a substantial difference .
I have already tried to change some of the options and parameters I usually use for running ffmpeg, to no avail.

Question is: how do I have to run ffmpeg, which options should I use, so that the output can always be included in Keynote.

Note that some ffmpeg output videos can be inserted in Keynote.
Also note that I could, of course, always use Handbrake to manually convert the videos, but I'd rather use the ffmpeg on the command line so that I can convert lots of my videos in batch.

Steps to reproduce the problem (If Applicable):

Convert this video
https://www.dropbox.com/s/01rg7rgarqfru ... t.mov?dl=0
using Handbrake using the H265 codec.

Convert it also using ffmpeg. My command line is:

Code: Select all

/opt/local/bin/ffmpeg -loglevel level+info -hide_banner -nostats -nostdin -i Spore - Assymetrical Creatures, excerpt copy.mov -map 0 -map -0:v:1 -c:s copy -map_metadata 0 -map_metadata:s:v 0:s:v -dn -map_metadata:s:a 0:s:a -c:a aac -b:a 128k -filter:v crop=in_w-mod(in_w\,2):in_h-mod(in_h\,2) -codec:v hevc -tag:v hvc1 -max_muxing_queue_size 1024 -preset faster -crf 25 -x265-params me=umh:subme=5:ref=4:aq-mode=2:aq-strength=1.0:psy-rd=2.0:psy-rdoq=1.0:rd=6:profile=main:log-level=2 -ignore_unknown -f mp4 Spore - Assymetrical Creatures, excerpt copy.h265.mp4_converting
Go to Keynote / Insert / Choose .. , select the video (either the Keynote or the ffmepg version).

HandBrake version (e.g., 1.0.0):
Version 1.2.0 (2018122200)

My ffmpeg version:

Code: Select all

ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid --enable-version3 --enable-libsmbclient --enable-nonfree --enable-libfdk-aac
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100

Operating system and version (e.g., Ubuntu 16.04 LTS, macOS 10.13 High Sierra, Windows 10 Creators Update):
macOS 10.14.3 (Mojave)


HandBrake Activity Log ***required***

Handbrake log: https://www.dropbox.com/s/4zsn7b2agwwyu ... 8.txt?dl=0

CLI ffmpeg log: https://www.dropbox.com/s/qx2wf1h5svbrj ... i.txt?dl=0

Output from Console.app, which occurred at the point when I tried to insert the ffmpeg version of the video, filtered by "keynote": https://www.dropbox.com/s/2oam7cp3az9kp ... t.txt?dl=0


Any hints, suggestions , or insights will be highly appreciated.

Best regards, Gabriel
rollin_eng
Veteran User
Posts: 4840
Joined: Wed May 04, 2011 11:06 pm

Re: Conversion to HEVC with Handbrake produces "good" output, but using ffmpeg produces "bad" output

Post by rollin_eng »

I would ask ffmpeg support for help :)

But if you need to script things try Handbrake CLI.
Woodstock
Veteran User
Posts: 4614
Joined: Tue Aug 27, 2013 6:39 am

Re: Conversion to HEVC with Handbrake produces "good" output, but using ffmpeg produces "bad" output

Post by Woodstock »

While handbrake uses the ffmpeg libraries, it is not a "front end" for the ffmpeg command line program. In fact, the graphic user interface on handbrake no longer constructs handbrake compatible CLI strings.

You can make use of the GUI's preset system in the handbrake CLI.
mduell
Veteran User
Posts: 8187
Joined: Sat Apr 21, 2007 8:54 pm

Re: Conversion to HEVC with Handbrake produces "good" output, but using ffmpeg produces "bad" output

Post by mduell »

You have a ffmpeg problem, you should contact ffmpeg for support.

Or, ya know, use HB for your conversion since it works.
Post Reply