Recherche avancée

Médias (0)

Mot : - Tags -/serveur

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

Autres articles (112)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (9550)

  • 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 !

    


  • cmake installation of x265 for ffmpeg on Cygwin - executable location different from other codecs

    6 mai, par bballdave025

    TL ;DR (with expected vs. real)

    


    For a Cygwin build of ffmpeg, I'm installing x265, and it seems to me that the executable ends up in the wrong place. I'll show some basic directory structure, then I'll show the tree outputs for expected and real, both before and after the cmake installation. For directories where I think this is important, I'll show the outputs before and after the cmake installation.

    


    My question has two parts. I used the following cmake and make commands,

    


    # pwd => $HOME/programs/ffmpeg/ffmpeg_sources/x265/build/linux
PATH="$HOME/programs/ffmpeg/bin:$PATH" \
  cmake -G "Unix Makefiles" \
        -DCMAKE_INSTALL_PREFIX="$HOME/programs/ffmpeg/ffmpeg_build" \
        -DENABLE_SHARED=OFF \
        -DCMAKE_EXE_LINKER_FLAGS="-static" 
            ../../source
PATH="$HOME/programs/ffmpeg/bin:$PATH" make -j $(nproc)
make install


    


    The result is below, with my real vs. expected, and there is a more detailed, more explicit, and hopefully more clear file with the info. at pastebin.com/86wHrtxR.

    


    Edit : I've made a copy of the detailed/explicit/clear file on my GitHub as a gist. This should be more secure. (The Pastebin version still exists, in case that is your preference.)

    


    Now, for my two-part question :

    


      

    1. How can I change my cmake command so that my x265.exe file ends up in $HOME/programs/ffmpeg/bin with the proper linking, rather than $HOME/programs/ffmpeg/ffmpeg_build/bin ?

      


    2. 


    3. Would the build/linker/whatever figure things out for the ffmpeg build ?

      


    4. 


    


    I want to know the answer to question number 1 regardless of the answer to question number 2. I haven't used cmake with the -DVAR=var flags before, and I'd like to take this opportunity to learn.

    


    For the result :

    


    Things surrounded by double curly brackets are {{ expected }}.

    


    Things surrounded by double angle brackets are << real >>, i.e. they exist after the installation is done.

    


    If real matches expected, and the file/directory is new, I've surrounded it by double parentheses, i.e. double round brackets. (( match ))

    


    If something is not new (and thus has the same before and after) I haven't marked it.

    


       me@MACHINE ~/programs/ffmpeg&#xA;   $ tree --charset=ascii bin&#xA;   bin&#xA;   |-- lame.exe&#xA;   |-- mp3rtp.exe&#xA;   |-- mp3x.exe&#xA;   `-- x264.exe&#xA;{{ `-- x265.exe                     }} ## Expected, not Exists&#xA;&#xA;   me@MACHINE ~/programs/ffmpeg&#xA;   $ tree --charset=ascii \&#xA;                   ffmpeg_build&#xA;   ffmpeg_build&#xA;&lt;&lt; |-- bin                          >> ## Not expected, Exists&#xA;&lt;&lt; |   `-- x265.exe                 >> ## Not expected, Exists&#xA;   |-- include&#xA;   |   |-- fdk-aac&#xA;   |   |   |-- aacdecoder_lib.h&#xA;   |   |   |-- aacenc_lib.h&#xA;   |   |   `-- ... <more files="files">&#xA;   |   |-- lame&#xA;   |   |   `-- lame.h&#xA;   |   |-- x264.h&#xA;   |   `-- x264_config.h&#xA;(( |   |-- x265.h                   )) ## Expected and Exists&#xA;(( |   `-- x265_config.h            )) ## Expected and Exists&#xA;   |-- lib&#xA;   |   |-- libfdk-aac.a&#xA;   |   |-- libfdk-aac.la&#xA;   |   |-- libmp3lame.a&#xA;   |   |-- libmp3lame.la&#xA;(( |   |-- libx265.a                )) ## Expected and Exists&#xA;   |   `-- pkgconfig&#xA;   |       |-- fdk-aac.pc&#xA;   |       `-- x264.pc&#xA;(( |       `-- x265.pc              )) ## Expected and Exists&#xA;   `-- share&#xA;       |-- doc&#xA;       |   ... <only lame="lame">&#xA;       `-- man&#xA;           ... <only lame="lame">&#xA;</only></only></more>

    &#xA;

    Other, possibly useful information about the build directory structure.

    &#xA;

    me@MACHINE ~/programs/ffmpeg&#xA;$ tree --charset=ascii -L 1 .&#xA;.&#xA;|-- bin&#xA;|-- ffmpeg_build&#xA;`-- ffmpeg_sources&#xA;&#xA;3 directories, 0 files&#xA;

    &#xA;

    For this next, ffmpeg_sources dir, I'm showing the after (which is both expected and real/exists) surrounded by double parentheses, i.e. double round brackets, (( <after> ))</after>.

    &#xA;

       me@MACHINE ~/programs/ffmpeg&#xA;   $ tree --charset=ascii -L 1 ffmpeg_sources&#xA;   ffmpeg_sources&#xA;   |-- fdk-aac.zip&#xA;   |-- lame-svn&#xA;   |-- mstorsjo-fdk-aac-e7d8591&#xA;   |-- x264-snapshot-20191217-2245&#xA;   |-- x264-snapshot-20191217-2245.tar.bz2&#xA;   `-- x264-snapshot-20191218-README.txt&#xA;(( `-- x265                         ))&#xA;&#xA;   3 directories, 3 files&#xA;(( 4 directories, 3 files ))&#xA;

    &#xA;


    &#xA;

    NOW, FOR SOME MORE DETAIL

    &#xA;


    &#xA;

    What I'm Doing

    &#xA;

    I am working on a Cygwin build (vs. a Windows/mingw build) of ffmpeg. I am following an older guide by koohiimaster (archived). That guide says,

    &#xA;

    &#xA;

    [W]e are not cross-compiling for windows ; we are compiling for Cygwin.

    &#xA;

    &#xA;

    This 2014 guide doesn't have all of the codecs I want - I want as complete a build as possible - so I've also been referring to this ffmpeg-for-Ubuntu guide (archived), which I hope is kept up-to-date. It's referred to by koohiimaster.

    &#xA;

    Also, as a way of checking that I'm getting all the codecs I want, I've been looking at this FFmpeg for Windows guide from SuperUser

    &#xA;

    I'll give the basics of my steps below. More details, as well as all the output is at pastebin.com/suL1nU6Z.

    &#xA;

    Edit : I've put the log of terminal input/output for all my steps into a gist at my GitHub as this seems safer than Pastebin.

    &#xA;

    A look at directory structure for the build

    &#xA;

    me@MACHINE ~/programs/ffmpeg&#xA;$ cd $HOME/programs/ffmpeg&#xA;&#xA;me@MACHINE ~/programs/ffmpeg&#xA;$ tree --charset=ascii -d -L 1&#xA;.&#xA;|-- bin&#xA;|-- ffmpeg_build&#xA;`-- ffmpeg_sources&#xA;&#xA;3 directories&#xA;

    &#xA;

    Getting the source. Note that I had to apt-cyg install mercurial, though (with my Cygwin setup GUI/EXE in my Cygwin root directory, i.e. C:\cygwin64\setup-x86_64.exe), I could also have done /setup-x86_64.exe install -q -P mercurial.

    &#xA;

    cd ffmpeg_sources&#xA;hg clone https://bitbucket.org/multicoreware/x265&#xA;

    &#xA;

    Running the cmake and make commands

    &#xA;

    cd x265/build/linux&#xA;PATH="$HOME/programs/ffmpeg/bin:$PATH" \&#xA;  cmake -G "Unix Makefiles" \&#xA;        -DCMAKE_INSTALL_PREFIX="$HOME/programs/ffmpeg/ffmpeg_build" \&#xA;        -DENABLE_SHARED=OFF \&#xA;        -DCMAKE_EXE_LINKER_FLAGS="-static" \&#xA;            ../../source&#xA;PATH="$HOME/programs/ffmpeg/bin:$PATH" make -j $(nproc)&#xA;make install&#xA;

    &#xA;

    It was the last part (actually the very last line) of the make install output that worried me. Here is the whole output - it's not very long.

    &#xA;

    make[1]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;[ 20%] Built target encoder&#xA;make[2]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;[ 83%] Built target common&#xA;make[2]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;[ 84%] Built target x265-static&#xA;make[2]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;[100%] Built target cli&#xA;make[1]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;Install the project...&#xA;-- Install configuration: "Release"&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/lib/libx265.a&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/include/x265.h&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/include/x265_config.h&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/lib/pkgconfig/x265.pc&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/bin/x265.exe&#xA;

    &#xA;

    As discussed in the TL ;DR section, I expected to see x265.exe at

    &#xA;

    home/me/programs/ffmpeg/bin/x265.exe

    &#xA;

    rather than the path given on the last line of output,

    &#xA;

    /home/me/programs/ffmpeg/ffmpeg_build/bin/x265.exe

    &#xA;

    This worries me especially because the first part of the ffmpeg install command that my instructions inform me to run is

    &#xA;

    PATH="$HOME/programs/ffmpeg/bin:$PATH" \&#xA;PKG_CONFIG_PATH="$HOME/programs/ffmpeg/ffmpeg_build/lib/pkgconfig" \&#xA;  ./configure \&#xA;    --prefix="$HOME/programs/ffmpeg/ffmpeg_build" \&#xA;    --extra-cflags="-I$HOME/programs/ffmpeg/ffmpeg_build/include" \&#xA;    --extra-ldflags="-L$HOME/programs/ffmpeg/ffmpeg_build/lib" \&#xA;    --bindir="$HOME/programs/ffmpeg/bin" \&#xA;

    &#xA;

       ... and on it goes ...

    &#xA;

    It would seem to me that the .configure script for ffmpeg won't find the x265 executable, since it's not in the bindir.

    &#xA;

    I'll repeat my two-part question from before :

    &#xA;

      &#xA;
    1. How can I change my cmake command so that my x265.exe file ends up in $HOME/programs/ffmpeg/bin with the proper linking, rather than $HOME/programs/ffmpeg/ffmpeg_build/bin ?
    2. &#xA;

    &#xA;

    What I'm looking for here is something akin to the --bindir flag from make's ./confiure.

    &#xA;

      &#xA;
    1. Would the build/linker/whatever figure things out for the ffmpeg build ?
    2. &#xA;

    &#xA;

    I want to know the answer to question number 1 regardless of the answer to question number 2. I haven't used cmake with the -DVAR=var flags before, and I'd like to take this opportunity to learn.

    &#xA;


    &#xA;

    Where I've Looked & What I've Tried

    &#xA;

    I first started with the man page and the --help for cmake. That was scary. I was hoping that I'd find something useful around the CMAKE_INSTALL_PREFIX stuff, but I wasn't sure what to make of it.

    &#xA;

    I tried greping through cmake --help-full (with 50 lines before and after whatever I was searching for), but got tripped up by the complexity. I've only used basic cmake stuff, before, and I got more than a little lost.

    &#xA;

    Even with the --help, I don't know if I need to look at the help-manual, the help-command, the help-module, the help-policy, the help-variable, or something else.

    &#xA;

    It seemed to me, in reading, that a "binary directory" is the top of the "build", whereas I thought it would be the dir named bin ... I couldn't tell what things were meant to be used by the person creating the package rather than by me, who am trying to make/build the package from the command line.

    &#xA;

    I looked through what seemed to be a cmake wiki's Useful Variables page (archived), as well as at this thread at cmake.org (archived), which, along with this SO source and this and this and this and this SO sources, seemed to suggest using the CMAKE_RUNTIME_OUTPUT_DIRECTORY variable (since the EXECUTABLE_OUTPUT-DIRECTORY variable has been superseded by it). By the way, I couldn't tell which things should be used by the creator of the package vs. the consumer of the package - the consumer being me. I tried with

    &#xA;

    PATH="$HOME/programs/ffmpeg/bin:$PATH" \&#xA;  cmake -G "Unix Makefiles" \&#xA;        -DCMAKE_INSTALL_PREFIX="$HOME/programs/ffmpeg/ffmpeg_build" \&#xA;        -DCMAKE_RUNTIME_OUTPUT_DIRECTORY="$HOME/programs/ffmpeg/bin" \&#xA;        -DENABLE_SHARED=OFF \&#xA;        -DCMAKE_EXE_LINKER_FLAGS="-static" &#xA;            ../../source&#xA;PATH="$HOME/&#xA;

    &#xA;

    and have thought about fifty-or-so other -DVAR variables, but with any I have tried, I still get the same result. I still get the executable in what seems to be the wrong place.

    &#xA;


    &#xA;

    System Details

    &#xA;

    $ date &amp;&amp; date &#x2B;&#x27;%s&#x27;&#xA;Tue, May  5, 2020 11:14:40 AM&#xA;1588698880&#xA;$ uname -a&#xA;CYGWIN_NT-10.0 MACHINE 3.1.4(0.340/5/3) 2020-02-19 08:49 x86_64 Cygwin&#xA;$ cmake --version&#xA;cmake version 3.14.5&#xA;&#xA;CMake suite maintained and supported by Kitware (kitware.com/cmake).&#xA;$ bash --version | head -n 1&#xA;GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin)&#xA;$ gcc --version | head -n 1&#xA;gcc (GCC) 9.3.0&#xA;$ g&#x2B;&#x2B; --version | head -n 1&#xA;g&#x2B;&#x2B; (GCC) 9.3.0&#xA;$ make --version | head -n 2&#xA;GNU Make 4.3&#xA;Built for x86_64-pc-cygwin&#xA;

    &#xA;

  • Announcing our latest open source project : DeviceDetector

    30 juillet 2014, par Stefan Giehl — Community, Development, Meta, DeviceDetector

    This blog post is an announcement for our latest open source project release : DeviceDetector ! The Universal Device Detection library will parse any User Agent and detect the browser, operating system, device used (desktop, tablet, mobile, tv, cars, console, etc.), brand and model.

    Read on to learn more about this exciting release.

    Why did we create DeviceDetector ?

    Our previous library UserAgentParser only had the possibility to detect operating systems and browsers. But as more and more traffic is coming from mobile devices like smartphones and tablets it is getting more and more important to know which devices are used by the websites visitors.

    To ensure that the device detection within Piwik will gain the required attention, so it will be as accurate as possible, we decided to move that part of Piwik into a separate project, that we will maintain separately. As an own project we hope the DeviceDetector will gain a better visibility as well as a better support by and for the community !

    DeviceDetector is hosted on GitHub at piwik/device-detector. It is also available as composer package through Packagist.

    How DeviceDetector works

    Every client requesting data from a webserver identifies itself by sending a so-called User-Agent within the request to the server. Those User Agents might contain several information such as :

    • client name and version (clients can be browsers or other software like feed readers, media players, apps,…)
    • operating system name and version
    • device identifier, which can be used to detect the brand and model.

    For Example :

    Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.99 Mobile Safari/537.36

    This User Agent contains following information :

    Operating system is Android 4.4.2, client uses the browser Chrome Mobile 32.0.1700.99 and the device is a Google Nexus 5 smartphone.

    What DeviceDetector currently detects

    DeviceDetector is able to detect bots, like search engines, feed fetchers, site monitors and so on, five different client types, including around 100 browsers, 15 feed readers, some media players, personal information managers (like mail clients) and mobile apps using the AFNetworking framework, around 80 operating systems and nine different device types (smartphones, tablets, feature phones, consoles, tvs, car browsers, cameras, smart displays and desktop devices) from over 180 brands.

    Note : Piwik itself currently does not use the full feature set of DeviceDetector. Client detection is currently not implemented in Piwik (only detected browsers are reported, other clients are marked as Unknown). Client detection will be implemented into Piwik in the future, follow #5413 to stay updated.

    Performance of DeviceDetector

    Our detections are currently handled by an enormous number of regexes, that are defined in several .YML Files. As parsing these .YML files is a bit slow, DeviceDetector is able to cache the parsed .YML Files. By default DeviceDetector uses a static cache, which means that everything is cached in static variables. As that only improves speed for many detections within one process, there are also adapters to cache in files or memcache for speeding up detections across requests.

    How can users help contribute to DeviceDetector ?

    Submit your devices that are not detected yet

    If you own a device, that is currently not correctly detected by the DeviceDetector, please create a issue on GitHub
    In order to check if your device is detected correctly by the DeviceDetector go to your Piwik server, click on ‘Settings’ link, then click on ‘Device Detection’ under the Diagnostic menu. If the data does not match, please copy the displayed User Agent and use that and your device data to create a ticket.

    Submit a list of your User Agents

    In order to create new detections or improve the existing ones, it is necessary for us to have lists of User Agents. If you have a website used by mostly non desktop devices it would be useful if you send a list of the User Agents that visited your website. To do so you need access to your access logs. The following command will extract the User Agents :

    zcat ~/path/to/access/logs* | awk -F'"' '{print $6}' | sort | uniq -c | sort -rn | head -n20000 &gt; /home/piwik/top-user-agents.txt

    If you want to help us with those data, please get in touch at devicedetector@piwik.org

    Submit improvements on GitHub

    As DeviceDetector is free/libre library, we invite you to help us improving the detections as well as the code. Please feel free to create tickets and pull requests on Github.

    What’s the next big thing for DeviceDetector ?

    Please check out the list of issues in device-detector issue tracker.

    We hope the community will answer our call for help. Together, we can build DeviceDetector as the most powerful device detection library !

    Happy Device Detection,