Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (74)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (13179)

  • ffmpeg : How to preserve input metadata when copying / resizing [duplicate]

    16 mars 2021, par Ivan

    I would like that the output file has the same metadata as the input

    


    I have two case :

    


      

    1. with images
    2. 


    


    find . -name "*.jpg"|while read fname; do
  ffmpeg -y -i "$fname" -map_metadata 0 -vf scale=1024:-1 ./compressed/"$fname"
done


    


      

    1. with video
    2. 


    


    find . -name "*.mp4"|while read fname; do
    ffmpeg -y  -i "$fname" -map_metadata 0 -vf scale=1024:-2,setsar=1:1 -c:v libx264 -c:a copy ./compressed/"$fname"
done


    


    In both cases, meta data is lost (data of edited set current date, can I move "edited date" from original file)

    


    Parameter -map_metadata 0 does not help

    


    Tell me please, what should I fix ?

    


    Update :
Add chunk of log :

    


    ...
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './VID_20190909_163724.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2019-09-09T23:37:51.000000Z
    location        : +37.7277-119.5428/
    location-eng    : +37.7277-119.5428/
    com.android.version: 9
    com.android.capture.fps: 60.000000
  Duration: 00:00:26.49, start: 0.000000, bitrate: 159330 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/bt470bg/smpte170m), 3840x2160, 158991 kb/s, SAR 1:1 DAR 16:9, 59.91 fps, 60 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      rotate          : 90
      creation_time   : 2019-09-09T23:37:51.000000Z
      handler_name    : VideoHandle
    Side data:
      displaymatrix: rotation of -90.00 degrees
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s (default)
    Metadata:
      creation_time   : 2019-09-09T23:37:51.000000Z
      handler_name    : SoundHandle
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[swscaler @ 0x7f93ddc4c000] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 0x7f93e2021600] using SAR=1/1
[libx264 @ 0x7f93e2021600] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f93e2021600] profile High, level 4.2, 4:2:0, 8-bit
...


    


  • How to copy ffprobe dumped metadata to a converted video

    23 mai 2020, par Quer

    I hope you're all doing safe ! I'm using windows 10 and have lots of home videos, some of them are on .AVI format. I just discovered google photos don't backup .AVI videos, I tried converting it with GUI converters (FormatFactory, Wondershare, HandBrake) but when I tried to back it up, it wasn't preserving the metadata of my newly converted videos.

    



    I tried further research on this matter and I stumble upon ffmpeg (w/c the GUIs were using). I successfully converted .MOV while preserving metadata using :

    



    ffmpeg -i in.MOV -b:v 73000k -c:v libx264 -c:a aac -strict -2 -map_metadata 0 out.mp4


    



    but when I tried converting .AVI videos, with the command above, it doesn't retain the original metadata for the out.mp4.

    



    I tried another approach and I found out a method of dumping the metadata on a .txt then restoring it on the out.mp4.

    



    ffprobe -v error -show_format -show_streams DSCF0421.AVI > output.txt 2>&1


    



    The command above does save it on the output.txt

    



    output.txt


[STREAM]
index=0
codec_name=mjpeg
codec_long_name=Motion JPEG
profile=Baseline
codec_type=video
codec_time_base=33333/1000000
codec_tag_string=MJPG
codec_tag=0x47504a4d
width=640
height=480
coded_width=640
coded_height=480
closed_captions=0
has_b_frames=0
sample_aspect_ratio=N/A
display_aspect_ratio=N/A
pix_fmt=yuvj422p
level=-99
color_range=pc
color_space=bt470bg
color_transfer=unknown
color_primaries=unknown
chroma_location=center
field_order=unknown
timecode=N/A
refs=1
id=N/A
r_frame_rate=1000000/33333
avg_frame_rate=1000000/33333
time_base=33333/1000000
start_pts=0
start_time=0.000000
duration_ts=150
duration=4.999950
bit_rate=9739922
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=150
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:Make=FUJIFILM
TAG:Model=FinePix JX550
TAG:DateTime=2012:05:20 00:25:48
TAG:JPEGInterchangeFormat=    658
TAG:JPEGInterchangeFormatLength=   2698
TAG:Copyright=    
TAG:DateTimeOriginal=2012:05:20 00:25:48
TAG:DateTimeDigitized=2012:05:20 00:25:48
TAG:MakerNote=
 uwu
TAG:title=FUJIFILM AVI STREAM 0100
[/STREAM]
[STREAM]
index=1
codec_name=pcm_u8
codec_long_name=PCM unsigned 8-bit
profile=unknown
codec_type=audio
codec_time_base=1/11024
codec_tag_string=[1][0][0][0]
codec_tag=0x0001
sample_fmt=u8
sample_rate=11024
channels=1
channel_layout=unknown
bits_per_sample=8
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/11024
start_pts=0
start_time=0.000000
duration_ts=N/A
duration=N/A
bit_rate=88192
max_bit_rate=N/A
bits_per_raw_sample=N/A
nb_frames=55120
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
[/STREAM]
[FORMAT]
filename=DSCF0421.AVI
nb_streams=2
nb_programs=0
format_name=avi
format_long_name=AVI (Audio Video Interleaved)
start_time=0.000000
duration=4.999950
size=6111800
bit_rate=9778977
probe_score=100
[/FORMAT]


    



    Then I tried restoring it with either .mp4 or .mkv

    



    MP4

ffmpeg -i DSCF0421.AVI -i output.txt compressed.mp4

MKV

ffmpeg -i DSCF0421.AVI -i output.txt compressed.mkv


    



    result of the command above :

    



    MP4

    



    C:\Users\PandaLabs\Desktop\Conversion underground>ffmpeg -i DSCF0421.AVI -i output.txt compressed.mp4
ffmpeg version git-2020-05-22-38490cb Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200513
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 46.100 / 56. 46.100
  libavcodec     58. 86.101 / 58. 86.101
  libavformat    58. 43.100 / 58. 43.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 82.100 /  7. 82.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'DSCF0421.AVI':
  Duration: 00:00:05.00, start: 0.000000, bitrate: 9778 kb/s
    Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 9739 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      Make            : FUJIFILM
      Model           : FinePix JX550
      DateTime        : 2012:05:20 00:25:48
      JPEGInterchangeFormat:     658
      JPEGInterchangeFormatLength:    2698
      Copyright       :
      DateTimeOriginal: 2012:05:20 00:25:48
      DateTimeDigitized: 2012:05:20 00:25:48
      MakerNote       :
                      :  70,  85,  74,  73,  70,  73,  76,  77,  12,   0,   0,   0,  18,   0,   0,   0
                      :   7,   0,   4,   0,   0,   0,  48,  49,  51,  48,  16,   0,   2,   0,  33,   0
                      :   0,   0,   2,   1,   0,   0,   0,  16,   2,   0,   8,   0,   0,   0,  35,   1
                      :   0,   0,   1,  16,   3,   0,   1,   0,   0,   0,   3,   0,   0,   0,   2,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  16,  16,   3,   0,   1,   0
                      :   0,   0,   2,   0,   0,   0,  17,  16,  10,   0,   1,   0,   0,   0,  43,   1
                      :   0,   0,  32,  16,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  33,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  16,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,  49,  16,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   0,  17,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  18
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  19,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   1,  19,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   2,  19,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  20
                      :   7,   0, 129,   0,   0,   0,  52,   1,   0,   0,  49,  20,   4,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,  53,  57,  50,  68,  51,  49,  51,  49,  51,  57,  51,  54,  51,  49
                      :  49,  50,  48,  51,  49,  56,  70,  70,  69,  53,  50,  83,  80,  48,  52,  54
                      :  50,  54,   0,  78,  79,  82,  77,  65,  76,  32,   0,   0,   0,   0,   0, 100
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0
      title           : FUJIFILM AVI STREAM 0100
    Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11024 Hz, mono, u8, 88 kb/s
Input #1, tty, from 'output.txt':
  Duration: 00:00:00.80, start: 0.000000, bitrate: 46 kb/s
    Stream #1:0: Video: ansi, pal8, 640x400, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (pcm_u8 (native) -> aac (native))
Press [q] to stop, [?] for help
[aac @ 0000017c4ae758c0] Too many bits 6408.707483 > 6144 per frame requested, clamping to max
[libx264 @ 0000017c4ae65440] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000017c4ae65440] profile High 4:2:2, level 3.0, 4:2:2, 8-bit
[libx264 @ 0000017c4ae65440] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 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=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 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 'compressed.mp4':
  Metadata:
    encoder         : Lavf58.43.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj422p(pc), 640x480, q=-1--1, 30 fps, 1000k tbn, 30 tbc
    Metadata:
      Make            : FUJIFILM
      Model           : FinePix JX550
      DateTime        : 2012:05:20 00:25:48
      JPEGInterchangeFormat:     658
      JPEGInterchangeFormatLength:    2698
      Copyright       :
      DateTimeOriginal: 2012:05:20 00:25:48
      DateTimeDigitized: 2012:05:20 00:25:48
      MakerNote       :
                      :  70,  85,  74,  73,  70,  73,  76,  77,  12,   0,   0,   0,  18,   0,   0,   0
                      :   7,   0,   4,   0,   0,   0,  48,  49,  51,  48,  16,   0,   2,   0,  33,   0
                      :   0,   0,   2,   1,   0,   0,   0,  16,   2,   0,   8,   0,   0,   0,  35,   1
                      :   0,   0,   1,  16,   3,   0,   1,   0,   0,   0,   3,   0,   0,   0,   2,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  16,  16,   3,   0,   1,   0
                      :   0,   0,   2,   0,   0,   0,  17,  16,  10,   0,   1,   0,   0,   0,  43,   1
                      :   0,   0,  32,  16,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  33,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  16,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,  49,  16,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   0,  17,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  18
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  19,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   1,  19,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   2,  19,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  20
                      :   7,   0, 129,   0,   0,   0,  52,   1,   0,   0,  49,  20,   4,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,  53,  57,  50,  68,  51,  49,  51,  49,  51,  57,  51,  54,  51,  49
                      :  49,  50,  48,  51,  49,  56,  70,  70,  69,  53,  50,  83,  80,  48,  52,  54
                      :  50,  54,   0,  78,  79,  82,  77,  65,  76,  32,   0,   0,   0,   0,   0, 100
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0
      title           : FUJIFILM AVI STREAM 0100
      encoder         : Lavc58.86.101 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 11025 Hz, mono, fltp, 66 kb/s
    Metadata:
      encoder         : Lavc58.86.101 aac
[mjpeg @ 0000017c4ae70fc0] mjpeg_decode_dc: bad vlc: 0:0 (0000017c4ae71688)
[mjpeg @ 0000017c4ae70fc0] error dc
[mjpeg @ 0000017c4ae70fc0] error y=59 x=39
frame=  150 fps=104 q=-1.0 Lsize=    2327kB time=00:00:05.01 bitrate=3801.3kbits/s speed=3.49x
video:2290kB audio:33kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.175157%
[libx264 @ 0000017c4ae65440] frame I:2     Avg QP:25.35  size: 24876
[libx264 @ 0000017c4ae65440] frame P:38    Avg QP:26.87  size: 18472
[libx264 @ 0000017c4ae65440] frame B:110   Avg QP:27.42  size: 14477
[libx264 @ 0000017c4ae65440] consecutive B-frames:  1.3%  2.7%  0.0% 96.0%
[libx264 @ 0000017c4ae65440] mb I  I16..4:  0.2% 98.9%  0.9%
[libx264 @ 0000017c4ae65440] mb P  I16..4:  0.2% 54.8%  1.2%  P16..4: 29.1% 11.2%  3.4%  0.0%  0.0%    skip: 0.1%
[libx264 @ 0000017c4ae65440] mb B  I16..4:  0.0% 22.9%  0.1%  B16..8: 40.5% 14.0%  3.0%  direct:15.2%  skip: 4.3%  L0:45.5% L1:42.5% BI:12.0%
[libx264 @ 0000017c4ae65440] 8x8 transform intra:98.6% inter:79.9%
[libx264 @ 0000017c4ae65440] coded y,uvDC,uvAC intra: 92.1% 99.0% 74.7% inter: 60.8% 91.7% 25.7%
[libx264 @ 0000017c4ae65440] i16 v,h,dc,p: 26%  7% 12% 55%
[libx264 @ 0000017c4ae65440] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 10% 40%  6%  6%  6%  5%  7%  8%
[libx264 @ 0000017c4ae65440] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 11% 19% 10%  9% 10%  6%  8%  5%
[libx264 @ 0000017c4ae65440] i8c dc,h,v,p: 65%  7% 23%  5%
[libx264 @ 0000017c4ae65440] Weighted P-Frames: Y:2.6% UV:2.6%
[libx264 @ 0000017c4ae65440] ref P L0: 41.3% 11.9% 27.9% 18.5%  0.4%
[libx264 @ 0000017c4ae65440] ref B L0: 75.4% 19.4%  5.2%
[libx264 @ 0000017c4ae65440] ref B L1: 89.4% 10.6%
[libx264 @ 0000017c4ae65440] kb/s:3750.61
[aac @ 0000017c4ae758c0] Qavg: 27095.141


    



    MKV

    



    C:\Users\PandaLabs\Desktop\Conversion underground>ffmpeg -i DSCF0421.AVI -i output.txt compressed.mkv
ffmpeg version git-2020-05-22-38490cb Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200513
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 46.100 / 56. 46.100
  libavcodec     58. 86.101 / 58. 86.101
  libavformat    58. 43.100 / 58. 43.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 82.100 /  7. 82.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'DSCF0421.AVI':
  Duration: 00:00:05.00, start: 0.000000, bitrate: 9778 kb/s
    Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 9739 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      Make            : FUJIFILM
      Model           : FinePix JX550
      DateTime        : 2012:05:20 00:25:48
      JPEGInterchangeFormat:     658
      JPEGInterchangeFormatLength:    2698
      Copyright       :
      DateTimeOriginal: 2012:05:20 00:25:48
      DateTimeDigitized: 2012:05:20 00:25:48
      MakerNote       :
                      :  70,  85,  74,  73,  70,  73,  76,  77,  12,   0,   0,   0,  18,   0,   0,   0
                      :   7,   0,   4,   0,   0,   0,  48,  49,  51,  48,  16,   0,   2,   0,  33,   0
                      :   0,   0,   2,   1,   0,   0,   0,  16,   2,   0,   8,   0,   0,   0,  35,   1
                      :   0,   0,   1,  16,   3,   0,   1,   0,   0,   0,   3,   0,   0,   0,   2,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  16,  16,   3,   0,   1,   0
                      :   0,   0,   2,   0,   0,   0,  17,  16,  10,   0,   1,   0,   0,   0,  43,   1
                      :   0,   0,  32,  16,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  33,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  16,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,  49,  16,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   0,  17,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  18
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  19,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   1,  19,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   2,  19,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  20
                      :   7,   0, 129,   0,   0,   0,  52,   1,   0,   0,  49,  20,   4,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,  53,  57,  50,  68,  51,  49,  51,  49,  51,  57,  51,  54,  51,  49
                      :  49,  50,  48,  51,  49,  56,  70,  70,  69,  53,  50,  83,  80,  48,  52,  54
                      :  50,  54,   0,  78,  79,  82,  77,  65,  76,  32,   0,   0,   0,   0,   0, 100
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0
      title           : FUJIFILM AVI STREAM 0100
    Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11024 Hz, mono, u8, 88 kb/s
Input #1, tty, from 'output.txt':
  Duration: 00:00:00.80, start: 0.000000, bitrate: 46 kb/s
    Stream #1:0: Video: ansi, pal8, 640x400, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (pcm_u8 (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
[libx264 @ 000002b3674f3f40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002b3674f3f40] profile High 4:2:2, level 3.0, 4:2:2, 8-bit
[libx264 @ 000002b3674f3f40] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 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=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 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, matroska, to 'compressed.mkv':
  Metadata:
    encoder         : Lavf58.43.100
    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuvj422p(pc), 640x480, q=-1--1, 30 fps, 1k tbn, 30 tbc
    Metadata:
      Make            : FUJIFILM
      Model           : FinePix JX550
      DateTime        : 2012:05:20 00:25:48
      JPEGInterchangeFormat:     658
      JPEGInterchangeFormatLength:    2698
      Copyright       :
      DateTimeOriginal: 2012:05:20 00:25:48
      DateTimeDigitized: 2012:05:20 00:25:48
      MakerNote       :
                      :  70,  85,  74,  73,  70,  73,  76,  77,  12,   0,   0,   0,  18,   0,   0,   0
                      :   7,   0,   4,   0,   0,   0,  48,  49,  51,  48,  16,   0,   2,   0,  33,   0
                      :   0,   0,   2,   1,   0,   0,   0,  16,   2,   0,   8,   0,   0,   0,  35,   1
                      :   0,   0,   1,  16,   3,   0,   1,   0,   0,   0,   3,   0,   0,   0,   2,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  16,  16,   3,   0,   1,   0
                      :   0,   0,   2,   0,   0,   0,  17,  16,  10,   0,   1,   0,   0,   0,  43,   1
                      :   0,   0,  32,  16,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  33,  16
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  16,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,  49,  16,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   0,  17,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  18
                      :   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0,  19,   3,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   1,  19,   3,   0,   1,   0,   0,   0,   0,   0
                      :   0,   0,   2,  19,   3,   0,   1,   0,   0,   0,   0,   0,   0,   0,  48,  20
                      :   7,   0, 129,   0,   0,   0,  52,   1,   0,   0,  49,  20,   4,   0,   1,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,  53,  57,  50,  68,  51,  49,  51,  49,  51,  57,  51,  54,  51,  49
                      :  49,  50,  48,  51,  49,  56,  70,  70,  69,  53,  50,  83,  80,  48,  52,  54
                      :  50,  54,   0,  78,  79,  82,  77,  65,  76,  32,   0,   0,   0,   0,   0, 100
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0
                      :   0,   0,   0,   0,   0,   0
      title           : FUJIFILM AVI STREAM 0100
      encoder         : Lavc58.86.101 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 11024 Hz, mono, fltp
    Metadata:
      encoder         : Lavc58.86.101 libvorbis
[mjpeg @ 000002b3674f0fc0] mjpeg_decode_dc: bad vlc: 0:0 (000002b3674f1688)
[mjpeg @ 000002b3674f0fc0] error dc
[mjpeg @ 000002b3674f0fc0] error y=59 x=39
frame=  150 fps= 95 q=-1.0 Lsize=    2317kB time=00:00:04.99 bitrate=3797.5kbits/s speed=3.16x
video:2290kB audio:19kB subtitle:0kB other streams:0kB global headers:3kB muxing overhead: 0.355840%
[libx264 @ 000002b3674f3f40] frame I:2     Avg QP:25.35  size: 24876
[libx264 @ 000002b3674f3f40] frame P:38    Avg QP:26.87  size: 18472
[libx264 @ 000002b3674f3f40] frame B:110   Avg QP:27.42  size: 14477
[libx264 @ 000002b3674f3f40] consecutive B-frames:  1.3%  2.7%  0.0% 96.0%
[libx264 @ 000002b3674f3f40] mb I  I16..4:  0.2% 98.9%  0.9%
[libx264 @ 000002b3674f3f40] mb P  I16..4:  0.2% 54.8%  1.2%  P16..4: 29.1% 11.2%  3.4%  0.0%  0.0%    skip: 0.1%
[libx264 @ 000002b3674f3f40] mb B  I16..4:  0.0% 22.9%  0.1%  B16..8: 40.5% 14.0%  3.0%  direct:15.2%  skip: 4.3%  L0:45.5% L1:42.5% BI:12.0%
[libx264 @ 000002b3674f3f40] 8x8 transform intra:98.6% inter:79.9%
[libx264 @ 000002b3674f3f40] coded y,uvDC,uvAC intra: 92.1% 99.0% 74.7% inter: 60.8% 91.7% 25.7%
[libx264 @ 000002b3674f3f40] i16 v,h,dc,p: 26%  7% 12% 55%
[libx264 @ 000002b3674f3f40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 10% 40%  6%  6%  6%  5%  7%  8%
[libx264 @ 000002b3674f3f40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 11% 19% 10%  9% 10%  6%  8%  5%
[libx264 @ 000002b3674f3f40] i8c dc,h,v,p: 65%  7% 23%  5%
[libx264 @ 000002b3674f3f40] Weighted P-Frames: Y:2.6% UV:2.6%
[libx264 @ 000002b3674f3f40] ref P L0: 41.3% 11.9% 27.9% 18.5%  0.4%
[libx264 @ 000002b3674f3f40] ref B L0: 75.4% 19.4%  5.2%
[libx264 @ 000002b3674f3f40] ref B L1: 89.4% 10.6%
[libx264 @ 000002b3674f3f40] kb/s:3750.61


    



    It doesn't successfully restore the metadata of the source .AVI

    



    BTW, I don't intend to shrink the size of the video I just need to retain its created date and some miscellaneous.

    



    Thank you in advance for those who will answer !

    


  • Compile Shotdetect on CentOS 7

    14 septembre 2015, par BitLegacy01

    I’m migrating a service from a Debian server to a CentOS 7 one.

    The service needs the Shotdetect command (github , official site).

    I could not make it work on CentOS though I followed all steps :

    1. Compile ffmpeg compilation guide

      # ffmpeg
      ffmpeg version git-2015-08-21-7a806c6 Copyright (c) 2000-2015 the FFmpeg developers
       built with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9)
       configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --disable-libmp3lame --disable-libopus --disable-libvorbis --disable-libvpx --enable-libx264 --disable-libx265 --disable-lzma
       libavutil      54. 31.100 / 54. 31.100
       libavcodec     56. 58.100 / 56. 58.100
       libavformat    56. 40.101 / 56. 40.101
       libavdevice    56.  4.100 / 56.  4.100
       libavfilter     5. 36.100 /  5. 36.100
       libswscale      3.  1.101 /  3.  1.101
       libswresample   1.  2.101 /  1.  2.101
       libpostproc    53.  3.100 / 53.  3.100
      Hyper fast Audio and Video encoder
      usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
      1. Install needed packages

        # yum install gd-devel libxml2-devel libxslt-devel clang libvpx libvorbis
      2. Add pthread in the CMakeList file, in TARGET_LINK_LIBRARIES, because it throws an lpthread missing in linker error

      3. Compile Shotdetect

        # FFMPEG_DIR="/root/ffmpeg_build"  ./compile.sh cmd

    5.Lost in contemplation

    -- avformat library found: /root/ffmpeg_build/lib/libavformat.a
    -- avcodec library found: /root/ffmpeg_build/lib/libavcodec.a
    -- avutil library found: /root/ffmpeg_build/lib/libavutil.a
    -- swscale library found: /root/ffmpeg_build/lib/libswscale.a
    Found all FFmpeg libraries in /root/ffmpeg_build/lib/libavformat.a;/root/ffmpeg_build/lib/libavdevice.a;/root/ffmpeg_build/lib/libavcodec.a;/root/ffmpeg_build/lib/libavutil.a;/root/ffmpeg_build/lib/libswscale.a.
    -- Found GD: /usr/lib64/libgd.so
    Found libgd: /usr/lib64/libgd.so;/usr/lib64/libpng.so;/usr/lib64/libz.so;/usr/lib64/libjpeg.so in /usr/include
    Found libxml2: /usr/lib64/libxml2.so in /usr/include/libxml2
    Found libxslt: /usr/lib64/libxslt.so in /usr/include
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /root/Shotdetect-master/build
    [ 71%] Built target shotdetect
    Linking CXX executable shotdetect-cmd
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): in the function « fdk_aac_decode_frame »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:323: undefined reference to « aacDecoder_Fill »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:329: undefined reference to « aacDecoder_DecodeFrame »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): in the function « get_stream_info »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:88: undefined reference to « aacDecoder_GetStreamInfo »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): in the function « fdk_aac_decode_close »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:201: undefined reference to « aacDecoder_Close »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): in the function « fdk_aac_decode_init »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:214: undefined reference to « aacDecoder_Open »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:221: undefined reference to « aacDecoder_ConfigRaw »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:228: undefined reference to « aacDecoder_SetParam »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:252: undefined reference to « aacDecoder_SetParam »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:270: undefined reference to « aacDecoder_SetParam »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:277: undefined reference to « aacDecoder_SetParam »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:284: undefined reference to « aacDecoder_SetParam »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o):/root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:291: encore plus de références indéfinies suivent vers « aacDecoder_SetParam »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): in the function « fdk_aac_decode_init »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:261: undefined reference to « aacDecoder_AncDataInit »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacdec.o): in the function « fdk_aac_decode_flush »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacdec.c:367: undefined reference to « aacDecoder_SetParam »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o): in the function « aac_encode_close »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:97: undefined reference to « aacEncClose »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o): in the function « aac_encode_frame »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:357: undefined reference to « aacEncEncode »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o): in the function « aac_encode_init »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:114: undefined reference to « aacEncOpen »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:123: undefined reference to « aacEncoder_SetParam »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:130: undefined reference to « aacEncoder_SetParam »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:138: undefined reference to « aacEncoder_SetParam »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:172: undefined reference to « aacEncoder_SetParam »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:179: undefined reference to « aacEncoder_SetParam »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o):/root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:197: encore plus de références indéfinies suivent vers « aacEncoder_SetParam »
    /root/ffmpeg_build/lib/libavcodec.a(libfdk-aacenc.o): in the function « aac_encode_init »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:276: undefined reference to « aacEncEncode »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libfdk-aacenc.c:282: undefined reference to « aacEncInfo »
    /root/ffmpeg_build/lib/libavcodec.a(libx264.o): in the function « X264_frame »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:260: undefined reference to « x264_picture_init »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:262: undefined reference to « x264_bit_depth »
    /root/ffmpeg_build/lib/libavcodec.a(libx264.o): in the function « reconfig_encoder »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:246: undefined reference to « x264_encoder_reconfig »
    /root/ffmpeg_build/lib/libavcodec.a(libx264.o): in the function « X264_frame »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:283: undefined reference to « x264_encoder_encode »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:289: undefined reference to « x264_encoder_delayed_frames »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:283: undefined reference to « x264_encoder_encode »
    /root/ffmpeg_build/lib/libavcodec.a(libx264.o): in the function « reconfig_encoder »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:173: undefined reference to « x264_encoder_reconfig »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:178: undefined reference to « x264_encoder_reconfig »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:185: undefined reference to « x264_encoder_reconfig »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:205: undefined reference to « x264_encoder_reconfig »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:211: undefined reference to « x264_encoder_reconfig »
    /root/ffmpeg_build/lib/libavcodec.a(libx264.o):/root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:191: encore plus de références indéfinies suivent vers « x264_encoder_reconfig »
    /root/ffmpeg_build/lib/libavcodec.a(libx264.o): in the function « X264_init_static »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:806: undefined reference to « x264_bit_depth »
    /root/ffmpeg_build/lib/libavcodec.a(libx264.o): in the function « X264_close »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:339: undefined reference to « x264_encoder_close »
    /root/ffmpeg_build/lib/libavcodec.a(libx264.o): in the function « X264_init »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:413: undefined reference to « x264_param_default »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:418: undefined reference to « x264_param_default_preset »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:440: undefined reference to « x264_param_parse »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:470: undefined reference to « x264_param_parse »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:514: undefined reference to « x264_levels »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:516: undefined reference to « x264_levels »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:540: undefined reference to « x264_param_parse »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:541: undefined reference to « x264_param_parse »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:542: undefined reference to « x264_param_parse »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:543: undefined reference to « x264_param_parse »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:601: undefined reference to « x264_param_apply_fastfirstpass »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:651: undefined reference to « x264_param_apply_profile »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:703: undefined reference to « x264_param_parse »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:705: undefined reference to « x264_param_parse »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:717: undefined reference to « x264_param_parse »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:735: undefined reference to « x264_encoder_open_148 »
    /root/ffmpeg_sources/ffmpeg/libavcodec/libx264.c:744: undefined reference to « x264_encoder_headers »
    /root/ffmpeg_build/lib/libavcodec.a(opusdec.o): in the function « opus_decode_subpacket »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:379: undefined reference to « swr_is_initialized »
    /root/ffmpeg_build/lib/libavcodec.a(opusdec.o): in the function « opus_decode_frame »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:220: undefined reference to « swr_is_initialized »
    /root/ffmpeg_build/lib/libavcodec.a(opusdec.o): in the function « opus_init_resample »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:161: undefined reference to « swr_init »
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:167: undefined reference to « swr_convert »
    /root/ffmpeg_build/lib/libavcodec.a(opusdec.o): in the function « opus_decode_frame »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:234: undefined reference to « swr_convert »
    /root/ffmpeg_build/lib/libavcodec.a(opusdec.o): in the function « opus_flush_resample »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:115: undefined reference to « swr_convert »
    /root/ffmpeg_build/lib/libavcodec.a(opusdec.o): in the function « opus_decode_subpacket »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:411: undefined reference to « swr_close »
    /root/ffmpeg_build/lib/libavcodec.a(opusdec.o): in the function « opus_decode_flush »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:614: undefined reference to « swr_close »
    /root/ffmpeg_build/lib/libavcodec.a(opusdec.o): in the function « opus_decode_close »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:638: undefined reference to « swr_free »
    /root/ffmpeg_build/lib/libavcodec.a(opusdec.o): in the function « opus_decode_init »:
    /root/ffmpeg_sources/ffmpeg/libavcodec/opusdec.c:705: undefined reference to « swr_alloc »
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make[2]: *** [shotdetect-cmd] Error 1
    make[1]: *** [CMakeFiles/shotdetect-cmd.dir/all] Error 2
    make: *** [all] Error 2

    I’ve done a lot of research about the above errors but I didn’t find any clue.

    How to compile successfully Shotdetect on CentOS7 ?

    Thanks to tryp here is a working CMakelist file :

    # CMake integration by Christian Frisson
    cmake_minimum_required(VERSION 2.8)
    PROJECT(shotdetect)

    SET(CMAKE_C_COMPILER "/usr/bin/clang")
    SET(CMAKE_CXX_COMPILER "/usr/bin/clang++")
    SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")


    # Get git version information for automatic embedding in version string:

    include(GetGitRevisionDescription)
    get_git_head_revision(GIT_REFSPEC GIT_SHA1)
    # Take the first 12 characters of the SHA1 as short identifier:
    STRING(SUBSTRING ${GIT_SHA1} 0 11 GIT_SHA1_SHORT)
    configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/version.cc.in" "${CMAKE_CURRENT_BINARY_DIR}/version.cc" @ONLY)
    list(APPEND SOURCES "${CMAKE_CURRENT_BINARY_DIR}/version.cc" src/version.h)

    # Miscellaneous compilation options:

    OPTION(USE_WXWIDGETS "Compile GUI app with wxWidgets, otherwise commandline app" ON)
    OPTION(USE_POSTGRESQL "Compile with PostgreSQL support" OFF)

    # Dependency: pkg-config (required if cross-compiling with MXE)

    IF ( MINGW AND CMAKE_TOOLCHAIN_FILE)
       FIND_PACKAGE (PkgConfig)
       IF(NOT PKG_CONFIG_FOUND)
           MESSAGE(FATAL_ERROR "pkgconfig required for cross-compiling with MXE for windows")
       ENDIF()
       SET(PKG_CONFIG_EXECUTABLE ${PKG_CONFIG_EXECUTABLE} CACHE STRING "pkg-config")
    ENDIF()

    # Dependency: FFmpeg (required)

    FIND_PACKAGE( FFmpeg )
    IF ( MINGW AND CMAKE_TOOLCHAIN_FILE)
       PKG_CHECK_MODULES (FFMPEG_PKG REQUIRED libavcodec libavfilter libavutil libavdevice libavformat libavformat libswscale)
       IF (FFMPEG_PKG_FOUND)
           MESSAGE( "FFmpeg cflags found through pkg-config: ${FFMPEG_PKG_CFLAGS}" )
           MESSAGE( "FFmpeg ldflags found through pkg-config: ${FFMPEG_PKG_LDFLAGS}" )
           STRING(REGEX REPLACE ";" " " FFMPEG_PKG_CFLAGS "${FFMPEG_PKG_CFLAGS}")
           SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FFMPEG_PKG_CFLAGS}")
           SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FFMPEG_PKG_CFLAGS}")
           SET(FFMPEG_LIBRARIES ${FFMPEG_LIBRARY} ${FFMPEG_PKG_LDFLAGS})
           MESSAGE("FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES}")
       ELSE (FFMPEG_PKG_FOUND)
           MESSAGE( FATAL_ERROR "FFmpeg cflags/ldflags not found through pkg-config." )
       ENDIF (FFMPEG_PKG_FOUND)
    ENDIF()
    IF(FFMPEG_LIBAVFORMAT_FOUND)
       MESSAGE(STATUS "avformat library found: ${FFMPEG_LIBAVFORMAT_LIBRARIES}")
    ELSE()
       MESSAGE(STATUS "avformat library not found.")
    ENDIF()
    IF(FFMPEG_LIBAVCODEC_FOUND)
       MESSAGE(STATUS "avcodec library found: ${FFMPEG_LIBAVCODEC_LIBRARIES}")
    ELSE()
       MESSAGE(STATUS "avcodec library not found.")
    ENDIF()
    IF(FFMPEG_LIBAVUTIL_FOUND)
       MESSAGE(STATUS "avutil library found: ${FFMPEG_LIBAVUTIL_LIBRARIES}")
    ELSE()
       MESSAGE(STATUS "avutil library not found.")
    ENDIF()
    IF(FFMPEG_LIBSWSCALE_FOUND)
       MESSAGE(STATUS "swscale library found: ${FFMPEG_LIBSWSCALE_LIBRARIES}")
    ELSE()
       MESSAGE(STATUS "swscale library not found.")
    ENDIF()
    IF(FFMPEG_FOUND)
       INCLUDE_DIRECTORIES(${FFMPEG_INCLUDE_DIR} ${FFMPEG_INCLUDE_DIRS})
       SET(FFMPEG_LIBRARIES "${FFMPEG_LIBRARIES};/root/ffmpeg_build/lib/libswresample.a;/root/ffmpeg_build/lib/libx264.a;/lib64/libdl.so.2;/root/ffmpeg_build/lib/libfdk-aac.a;/root/ffmpeg_build/lib/libswresample.a")
       MESSAGE("Found all FFmpeg libraries in ${FFMPEG_LIBRARIES}.")
    ELSE()
       MESSAGE(FATAL_ERROR "Some FFmpeg libraries are missing.")
    ENDIF()

    # Dependency: GD (required)

    FIND_PACKAGE(GD REQUIRED)
    IF ( MINGW AND CMAKE_TOOLCHAIN_FILE)
       EXEC_PROGRAM(${CMAKE_FIND_ROOT_PATH}/bin/gdlib-config ARGS "--cflags" OUTPUT_VARIABLE GD_PKG_CFLAGS)
       EXEC_PROGRAM(${CMAKE_FIND_ROOT_PATH}/bin/gdlib-config ARGS "--libs" OUTPUT_VARIABLE GD_PKG_LDFLAGS)
       MESSAGE( "gd cflags found through gdlib-config: ${GD_PKG_CFLAGS}" )
       MESSAGE( "gd ldflags found through gdlib-config: ${GD_PKG_LDFLAGS}" )
       SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GD_PKG_CFLAGS}")
       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GD_PKG_CFLAGS}")
       SET(GD_LIBRARIES ${GD_LIBRARY} ${GD_PKG_LDFLAGS})
       MESSAGE("GD_LIBRARIES ${GD_LIBRARIES}")
    ENDIF()
    IF(GD_FOUND)
       INCLUDE_DIRECTORIES(${GD_INCLUDE_DIR})
       MESSAGE("Found libgd: ${GD_LIBRARIES} in ${GD_INCLUDE_DIR}")
    ELSE()
       MESSAGE(FATAL_ERROR "Couldn't find libgd")
    ENDIF()

    # Dependency: libxml2 (required)

    FIND_PACKAGE(LibXml2 2.7 REQUIRED)
    IF ( MINGW AND CMAKE_TOOLCHAIN_FILE)
       PKG_CHECK_MODULES (LIBXML2_PKG REQUIRED libxml-2.0)
       IF (LIBXML2_PKG_FOUND)
           MESSAGE( "LibXml2 cflags found through pkg-config: ${LIBXML2_PKG_CFLAGS}" )
           MESSAGE( "LibXml2 ldflags found through pkg-config: ${LIBXML2_PKG_LDFLAGS}" )
           STRING(REGEX REPLACE ";" " " LIBXML2_PKG_CFLAGS "${LIBXML2_PKG_CFLAGS}")
           SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBXML2_PKG_CFLAGS}")
           SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBXML2_PKG_CFLAGS}")
           SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY} ${LIBXML2_PKG_LDFLAGS})
           MESSAGE("LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES}")
       ELSE (LIBXML2_PKG_FOUND)
           MESSAGE( FATAL_ERROR "LibXml2 cflags/ldflags not found through pkg-config." )
       ENDIF (LIBXML2_PKG_FOUND)
    ENDIF()
    IF(LIBXML2_FOUND)
       MESSAGE("Found libxml2: ${LIBXML2_LIBRARIES} in ${LIBXML2_INCLUDE_DIR}")
       INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
    ELSE()
       MESSAGE(FATAL_ERROR "Couldn't find libxml2")
    ENDIF()

    # Dependency: libxslt (required)

    FIND_PACKAGE(LibXslt REQUIRED)
    IF(LIBXSLT_FOUND)
       MESSAGE("Found libxslt: ${LIBXSLT_LIBRARIES} in ${LIBXSLT_INCLUDE_DIR}")
       INCLUDE_DIRECTORIES(${LIBXSLT_INCLUDE_DIR})
    ELSE()
       MESSAGE(FATAL_ERROR "Couldn't find libxslt")
    ENDIF()

    # Dependency: wxWidgets (optional)
    IF(USE_WXWIDGETS)
       FIND_PACKAGE(wxWidgets)# COMPONENTS core base)
       IF(wxWidgets_FOUND)
           MESSAGE("Found wxWidgets: ${wxWidgets_LIBRARIES} in ${wxWidgets_INCLUDE_DIRS}")
           INCLUDE_DIRECTORIES(${wxWidgets_INCLUDE_DIRS})
           ADD_DEFINITIONS(-DWXWIDGETS)
           INCLUDE("${wxWidgets_USE_FILE}")
       ELSE()
           MESSAGE(FATAL_ERROR "Couldn't find wxWidgets. Set USE_WXWIDGETS to OFF or install wxWidgets.")
       ENDIF()
    ENDIF()

    # Dependency: PostgreSQL (optional)
    IF(USE_POSTGRESQL)
       FIND_PACKAGE(PostgreSQL)
       IF(PostgreSQL_FOUND)
           MESSAGE("Found PostgreSQL: ${PostgreSQL_LIBRARIES} in ${PostgreSQL_INCLUDE_DIR}")
           INCLUDE_DIRECTORIES(${PostgreSQL_INCLUDE_DIR})
       ELSE()
           MESSAGE(FATAL_ERROR "Couldn't find PostgreSQL. Set USE_POSTGRESQL to OFF or install PostgreSQL.")
       ENDIF()
    ENDIF()

    # shotdetect

    SET(TARGET_NAME "shotdetect")
    INCLUDE_DIRECTORIES(.)

    # shotdetect library

    SET(${TARGET_NAME}_LIBRARY_SRCS src/film.cc src/graph.cc src/image.cc src/shot.cc src/xml.cc)
    SET(${TARGET_NAME}_LIBRARY_HDRS  src/film.h src/graph.h src/image.h src/shot.h src/xml.h)
    IF(USE_POSTGRESQL)
       SET(${TARGET_NAME}_LIBRARY_SRCS ${${TARGET_NAME}_LIBRARY_SRCS} src/bdd.cc)
       SET(${TARGET_NAME}_LIBRARY_HDRS ${${TARGET_NAME}_LIBRARY_HDRS} src/bdd.h)
    ENDIF()
    ADD_LIBRARY(${TARGET_NAME} ${${TARGET_NAME}_LIBRARY_SRCS} ${${TARGET_NAME}_LIBRARY_HDRS})
    TARGET_LINK_LIBRARIES(${TARGET_NAME} ${FFMPEG_LIBRARIES} ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${GD_LIBRARIES} "pthread" "m" "z")
    IF(USE_WXWIDGETS AND wxWidgets_FOUND)
       TARGET_LINK_LIBRARIES(${TARGET_NAME} ${wxWidgets_LIBRARIES})
    ENDIF()
    IF(USE_POSTGRESQL AND PostgreSQL_FOUND)
       TARGET_LINK_LIBRARIES(${TARGET_NAME} ${PostgreSQL_LIBRARY})
    ENDIF()

    # shotdetect application: gui or commandline

    IF(APPLE)
       SET(APP_TYPE "MACOSX_BUNDLE")
    ELSEIF(WIN32)
       SET(APP_TYPE "WIN32")
    ENDIF()

    IF(USE_WXWIDGETS AND wxWidgets_FOUND)
       LIST(APPEND ${TARGET_NAME}_GUI_SRCS src/main.cc src/ui/dialog_help.cc src/ui/dialog_shotdetect.cc src/ui/process_video_thread.cc)
       LIST(APPEND ${TARGET_NAME}_GUI_HDRS src/ui/dialog_help.h src/ui/dialog_shotdetect.h src/ui/process_video_thread.h)
       ADD_EXECUTABLE(${TARGET_NAME}-gui ${APP_TYPE} ${SOURCES} ${${TARGET_NAME}_GUI_SRCS} ${${TARGET_NAME}_GUI_HDRS})
       TARGET_LINK_LIBRARIES(${TARGET_NAME}-gui ${TARGET_NAME})
       # Make this target optional to install:
       SET(TARGETS_TO_INSTALL ${TARGET_NAME}-gui)
    ELSE()
       LIST(APPEND ${TARGET_NAME}_COMMANDLINE_SRCS src/commandline.cc)
       ADD_EXECUTABLE(${TARGET_NAME}-cmd ${SOURCES} ${${TARGET_NAME}_COMMANDLINE_SRCS})
       TARGET_LINK_LIBRARIES(${TARGET_NAME}-cmd ${TARGET_NAME})
       # Make this target optional to install:
       SET(TARGETS_TO_INSTALL ${TARGET_NAME}-cmd)
    ENDIF()


    # Routines for installing shotdetect.
    # Taken from official documentation (http://www.cmake.org/cmake/help/cmake2.6docs.html#command:install)
    install(
       TARGETS ${TARGETS_TO_INSTALL}
       RUNTIME DESTINATION bin
       LIBRARY DESTINATION lib
       ARCHIVE DESTINATION lib/static
    )

    the built binary will be in the built directory, you can move there and execute

    make install

    to make the binary system wide.