[FFmpeg-user] Tips on compressing videos created by GoPro
Andrey Goreev
aegoreev at gmail.com
Thu Oct 19 16:33:34 EEST 2017
Hello,
I use this command to compress videos made by my family members with their
mobile phones, DSLR cameras, etc.
ffmpeg -i [INPUT-FILE] -y -f mp4 -c:a libfdk_aac -b:a 192k -c:v libx264
-crf 23 -preset slow -map_metadata 0 [OUTPUT-FILE]
I have noticed that I get a bunch of warnings when compressing videos made
by a GoPro camera.
FFprobe:
"Unsupported codec with id 0 for input stream 2"
FFmpeg:
"No pixel format specified, yuvj420p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players. "
FFmpeg does do the job though and I am able to open the output file with
VLC player.
I was wondering if there is something I should be aware about. Just don't
want to run into issues with the produced files in future.
Any tip/advice would be greatly appreciated.
full outputs of FFprobe and FFmpeg posted below.
--
Thanks,
Andrey
full ffprobe output:
-------------------------------------
ffprobe -i
/mnt/data/FamilyPictures/2016/2016-12/2016-12-26/20161226_140807_198.MP4
ffprobe version 3.3.4 Copyright (c) 2007-2017 the FFmpeg developers
built with gcc 7 (SUSE Linux)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--incdir=/usr/include/ffmpeg --extra-cflags='-fmessage-length=0
-grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -g' --optflags='-fmessage-length=0
-grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -g' --disable-htmlpages --enable-pic
--disable-stripping --enable-shared --disable-static --enable-gpl
--disable-openssl --enable-avresample --enable-libcdio --enable-gnutls
--enable-ladspa --enable-libass --enable-libbluray --enable-libcelt
--enable-libcdio --enable-libdc1394 --enable-libfreetype --enable-libgsm
--enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwebp
--enable-netcdf --enable-vaapi --enable-vdpau --enable-libfdk_aac
--enable-nonfree --enable-libx264 --enable-libx265 --enable-libxvid
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'/mnt/data/FamilyPictures/2016/2016-12/2016-12-26/20161226_140807_198.MP4':
Metadata:
major_brand : avc1
minor_version : 0
compatible_brands: avc1isom
creation_time : 2016-12-26T14:08:07.000000Z
firmware : HD3.10.03.02
Duration: 00:00:26.31, start: 0.000000, bitrate: 25270 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc,
bt709), 1920x1080 [SAR 1:1 DAR 16:9], 24857 kb/s, 59.94 fps, 59.94 tbr, 60k
tbn, 119.88 tbc (default)
Metadata:
creation_time : 2016-12-26T14:08:07.000000Z
handler_name : GoPro AVC
encoder : GoPro AVC encoder
timecode : 14:07:16:09
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 128 kb/s (default)
Metadata:
creation_time : 2016-12-26T14:08:07.000000Z
handler_name : GoPro AAC
timecode : 14:07:16:09
Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
creation_time : 2016-12-26T14:08:07.000000Z
timecode : 14:07:16:09
Unsupported codec with id 0 for input stream 2
----------------------------------------------------------
full ffmpeg output:
----------------------------------------------------------
ffmpeg -i
/mnt/data/FamilyPictures/2016/2016-12/2016-12-26/20161226_140807_198.MP4
-y -f mp4 -c:a libfdk_aac -b:a 192k -c:v libx264 -crf 23 -preset slow
-map_metadata 0
/mnt/data/FamilyPictures/2016/2016-12/2016-12-26/20161226_140807_198_x264_v2.MP4
ffmpeg version 3.3.4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7 (SUSE Linux)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--incdir=/usr/include/ffmpeg --extra-cflags='-fmessage-length=0
-grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -g' --optflags='-fmessage-length=0
-grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2
-fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables
-fstack-clash-protection -g' --disable-htmlpages --enable-pic
--disable-stripping --enable-shared --disable-static --enable-gpl
--disable-openssl --enable-avresample --enable-libcdio --enable-gnutls
--enable-ladspa --enable-libass --enable-libbluray --enable-libcelt
--enable-libcdio --enable-libdc1394 --enable-libfreetype --enable-libgsm
--enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwebp
--enable-netcdf --enable-vaapi --enable-vdpau --enable-libfdk_aac
--enable-nonfree --enable-libx264 --enable-libx265 --enable-libxvid
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'/mnt/data/FamilyPictures/2016/2016-12/2016-12-26/20161226_140807_198.MP4':
Metadata:
major_brand : avc1
minor_version : 0
compatible_brands: avc1isom
creation_time : 2016-12-26T14:08:07.000000Z
firmware : HD3.10.03.02
Duration: 00:00:26.31, start: 0.000000, bitrate: 25270 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuvj420p(pc,
bt709), 1920x1080 [SAR 1:1 DAR 16:9], 24857 kb/s, 59.94 fps, 59.94 tbr, 60k
tbn, 119.88 tbc (default)
Metadata:
creation_time : 2016-12-26T14:08:07.000000Z
handler_name : GoPro AVC
encoder : GoPro AVC encoder
timecode : 14:07:16:09
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 128 kb/s (default)
Metadata:
creation_time : 2016-12-26T14:08:07.000000Z
handler_name : GoPro AAC
timecode : 14:07:16:09
Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
creation_time : 2016-12-26T14:08:07.000000Z
timecode : 14:07:16:09
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
No pixel format specified, yuvj420p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x5601179cb0e0] using SAR=1/1
[libx264 @ 0x5601179cb0e0] using cpu capabilities: MMX2 SSE2Fast SSSE3
SSE4.2 AVX
[libx264 @ 0x5601179cb0e0] profile High, level 5.0
[libx264 @ 0x5601179cb0e0] 264 - core 148 - H.264/MPEG-4 AVC codec -
Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1
ref=5 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=8 psy=1 psy_rd=1.00:0.00
mixed_ref=1 me_range=16 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11
fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1
sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0
constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=3
weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40
intra_refresh=0 rc_lookahead=50 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0
qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to
'/mnt/data/FamilyPictures/2016/2016-12/2016-12-26/20161226_140807_198_x264_v2.MP4':
Metadata:
major_brand : avc1
minor_version : 0
compatible_brands: avc1isom
creation_time : 2016-12-26T14:08:07.000000Z
firmware : HD3.10.03.02
encoder : Lavf57.71.100
Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021),
yuvj420p(pc), 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 59.94 fps, 60k tbn,
59.94 tbc (default)
Metadata:
creation_time : 2016-12-26T14:08:07.000000Z
handler_name : GoPro AVC
timecode : 14:07:16:09
encoder : Lavc57.89.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1(eng): Audio: aac (libfdk_aac) ([64][0][0][0] / 0x0040),
48000 Hz, stereo, s16, 192 kb/s (default)
Metadata:
creation_time : 2016-12-26T14:08:07.000000Z
handler_name : GoPro AAC
timecode : 14:07:16:09
encoder : Lavc57.89.100 libfdk_aac
frame= 1577 fps=8.0 q=-1.0 Lsize= 33167kB time=00:00:26.30
bitrate=10329.3kbits/s speed=0.133x
video:32510kB audio:618kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.118071%
[libx264 @ 0x5601179cb0e0] frame I:9 Avg QP:23.36 size: 82321
[libx264 @ 0x5601179cb0e0] frame P:819 Avg QP:26.20 size: 31054
[libx264 @ 0x5601179cb0e0] frame B:749 Avg QP:28.69 size: 9500
[libx264 @ 0x5601179cb0e0] consecutive B-frames: 32.0% 10.0% 11.8% 46.2%
[libx264 @ 0x5601179cb0e0] mb I I16..4: 39.7% 53.3% 7.0%
[libx264 @ 0x5601179cb0e0] mb P I16..4: 7.6% 5.1% 0.7% P16..4: 38.4%
8.5% 6.5% 0.0% 0.0% skip:33.2%
[libx264 @ 0x5601179cb0e0] mb B I16..4: 0.4% 0.6% 0.1% B16..8: 36.1%
3.8% 0.7% direct: 1.8% skip:56.5% L0:51.7% L1:43.3% BI: 5.0%
[libx264 @ 0x5601179cb0e0] 8x8 transform intra:40.5% inter:51.3%
[libx264 @ 0x5601179cb0e0] direct mvs spatial:99.5% temporal:0.5%
[libx264 @ 0x5601179cb0e0] coded y,uvDC,uvAC intra: 31.2% 40.5% 1.1% inter:
11.1% 12.0% 0.0%
[libx264 @ 0x5601179cb0e0] i16 v,h,dc,p: 10% 27% 13% 50%
[libx264 @ 0x5601179cb0e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 9% 18% 8%
10% 8% 12% 8% 16%
[libx264 @ 0x5601179cb0e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 14% 12% 6%
8% 8% 10% 8% 16%
[libx264 @ 0x5601179cb0e0] i8c dc,h,v,p: 60% 25% 12% 3%
[libx264 @ 0x5601179cb0e0] Weighted P-Frames: Y:4.0% UV:0.4%
[libx264 @ 0x5601179cb0e0] ref P L0: 71.9% 13.9% 8.1% 2.7% 2.3% 1.0%
0.0%
[libx264 @ 0x5601179cb0e0] ref B L0: 94.4% 4.0% 1.3% 0.4%
[libx264 @ 0x5601179cb0e0] ref B L1: 98.6% 1.4%
[libx264 @ 0x5601179cb0e0] kb/s:10122.47
----------------------------------------------------
More information about the ffmpeg-user
mailing list