[FFmpeg-user] Premiere pro compatibility with ffmpeg/libx264 encoded files.

Kenneth Howard-Browne khb at revival.com
Fri Jul 8 21:50:42 EEST 2016


Hi all,

Our editors edit fine on our h264 live captures. But when I convert some of
our older captures into h264 from prores using ffmpeg they stutter greatly.
Also premiere treats them differently in the way it loads them, it will
generate peak data for the native h264 captures but conform the prores to
h264 captures. I have tried to mimic the exact codec settings of the
working captures even copying the interlacing flags. The only differences I
haven't been able to duplicate are the cabac reframes, live capture have 2
while ffmpeg encoded have 4. Also the audio codec of ffmpeg shows pcm_s24le
(in24 / 0x34326E69) while the capture shows pcm_s24le (lpcm / 0x6D63706C).

Here is a ffprobe comparison of the working capture and stuttering ffmpeg
encoded file.


   1. Working capture file
   2.
   3. root at pod2:/mnt/pod/drop# ffprobe
   ../archive/_captures/services/2016/20160703_sunpm_richardmoore.mov
   4. ffprobe version N-80765-ge9394ca Copyright (c) 2007-2016 the FFmpeg
   developers
   5.   built with gcc 4.9.2 (Debian 4.9.2-10)
   6.   configuration: --prefix=/root/ffmpeg_build
   --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include
   --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl
   --enable-libass --enable-libfdk-aac --enable-libfreetype
   --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis
   --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
   7.   libavutil      55. 27.100 / 55. 27.100
   8.   libavcodec     57. 48.101 / 57. 48.101
   9.   libavformat    57. 40.101 / 57. 40.101
   10.   libavdevice    57.  0.101 / 57.  0.101
   11.   libavfilter     6. 46.102 /  6. 46.102
   12.   libswscale      4.  1.100 /  4.  1.100
   13.   libswresample   2.  1.100 /  2.  1.100
   14.   libpostproc    54.  0.100 / 54.  0.100
   15. Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
   '../archive/_captures/services/2016/20160703_sunpm_richardmoore.mov':
   16.   Metadata:
   17.     major_brand     : qt
   18.     minor_version   : 0
   19.     compatible_brands: qt
   20.     creation_time   : 2016-07-03 22:59:17
   21.     com.apple.proapps.manufacturer: Softron
   22.     timecode        : 00:00:00:00
   23.   Duration: 03:22:42.72, start: -0.000033, bitrate: 17250 kb/s
   24.     Stream #0:0(und): Audio: pcm_s24le (lpcm / 0x6D63706C), 48000
   Hz, stereo, s32 (24 bit), 2304 kb/s (default)
   25.     Metadata:
   26.       creation_time   : 2016-07-03 22:59:17
   27.       handler_name    : Core Media Data Handler
   28.     Stream #0:1(und): Video: h264 (Main) (avc1 / 0x31637661),
   yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 14942 kb/s, 29.97 fps,
   29.97 tbr, 30k tbn, 50 tbc (default)
   29.     Metadata:
   30.       creation_time   : 2016-07-03 22:59:17
   31.       handler_name    : Core Media Data Handler
   32.       encoder         : H.264
   33.     Stream #0:2(und): Data: none (tmcd / 0x64636D74) (default)
   34.     Metadata:
   35.       creation_time   : 2016-07-03 22:59:17
   36.       handler_name    : Core Media Data Handler
   37.       timecode        : 00:00:00:00
   38. Unsupported codec with id 0 for input stream 2
   39.
   40.
   41. Stuttering ffmpeg encoded file
   42.
   43. root at pod2:/mnt/pod/drop# ffprobe
   encoded/20160522_sunam_mlc_rhb_clip.mov
   44. ffprobe version N-80765-ge9394ca Copyright (c) 2007-2016 the FFmpeg
   developers
   45.   built with gcc 4.9.2 (Debian 4.9.2-10)
   46.   configuration: --prefix=/root/ffmpeg_build
   --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include
   --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl
   --enable-libass --enable-libfdk-aac --enable-libfreetype
   --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis
   --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
   47.   libavutil      55. 27.100 / 55. 27.100
   48.   libavcodec     57. 48.101 / 57. 48.101
   49.   libavformat    57. 40.101 / 57. 40.101
   50.   libavdevice    57.  0.101 / 57.  0.101
   51.   libavfilter     6. 46.102 /  6. 46.102
   52.   libswscale      4.  1.100 /  4.  1.100
   53.   libswresample   2.  1.100 /  2.  1.100
   54.   libpostproc    54.  0.100 / 54.  0.100
   55. Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
   'encoded/20160522_sunam_mlc_rhb_clip.mov':
   56.   Metadata:
   57.     major_brand     : qt
   58.     minor_version   : 512
   59.     compatible_brands: qt
   60.     encoder         : Lavf57.40.101
   61.   Duration: 00:04:00.01, start: 0.000000, bitrate: 18939 kb/s
   62.     Stream #0:0(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000
   Hz, stereo, s32 (24 bit), 2304 kb/s (default)
   63.     Metadata:
   64.       handler_name    : DataHandler
   65.     Stream #0:1(eng): Video: h264 (Main) (avc1 / 0x31637661),
   yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 16629 kb/s, 29.97 fps,
   29.97 tbr, 11988 tbn, 59.94 tbc (default)
   66.     Metadata:
   67.       handler_name    : DataHandler
   68.       encoder         : Lavc57.48.101 libx264
   69.       timecode        : 10:00:03;27
   70.     Stream #0:2(eng): Data: none (tmcd / 0x64636D74)
   71.     Metadata:
   72.       handler_name    : DataHandler
   73.       timecode        : 10:00:03;27
   74. Unsupported codec with id 0 for input stream 2


I also ran the working capture through ffmpeg copying the the streams but
stripping the metadata from the working capture and it remained fine to
edit on so I don't think its a metadata issue. It happens during the
encoding process.

Playback using quicktime and vlc is flawless just when you add the file to
premiere and attempt to play it back on your timeline.

Here is my ffmpeg command, I am delaying the audio and turning the 16
channels of audio into a stereo feed. I am also clipping it to 4 minutes
long for testing purposes but have encoded the whole file with the same
frustrating result.

ffmpeg -i input.mov \
                -itsoffset 0.2 \
                -i input.mov \
                -pix_fmt yuv420p \
                -vcodec libx264 \
                -vprofile main \
                -level 4.0 \
                -flags:v +ildct \
                -crf 18 \
                -x264opts
colorprim=bt709:transfer=bt709:colormatrix=bt709:fullrange=off \
                -filter_complex "[1:1]pan=2c|c0=c0|c1=c1[stereo]" \
                -acodec pcm_s24le \
                -map "[stereo]" \
                -map 0:0 \
                -preset medium \
                -t 00:04:00 \
                output.mov

I would greatly appreciate any help in this matter, thanks!


More information about the ffmpeg-user mailing list