[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