[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