Recherche avancée

Médias (1)

Mot : - Tags -/copyleft

Autres articles (67)

  • 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 ) (...)

  • 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 (12342)

  • How to write mp4 metadata with ffmpeg without affecting the video data

    13 juillet 2018, par Daniel Quinn

    I’m trying to write metadata to a video file in one step, and capture the "raw data" (no metadata) portion of a video file in another step. The trouble is, with MP4 files, adding metadata to the file appears to alter the raw video data as well, while MKV files act as expected. Here’s an example with two files : test.mkv and test.mp4 :

    MKV

    ffmpeg -i test.mkv -loglevel error -metadata 'arbitrary=string' -codec copy test-new-metadata.mkv

    ffmpeg -i test.mkv              -loglevel error -map 0:v:0 -c copy -f data - -map 0:a:0 -c copy -f data - | md5sum
    631becf821dca89b150120d25393491a  -

    ffmpeg -i test-new-metadata.mkv -loglevel error -map 0:v:0 -c copy -f data - -map 0:a:0 -c copy -f data - | md5sum
    631becf821dca89b150120d25393491a  -

    MP4

    ffmpeg -i test.mp4 -loglevel error -metadata 'arbitrary=string' -codec copy test-new-metadata.mp4

    ffmpeg -i test.mp4              -loglevel error -map 0:v:0 -c copy -f data - -map 0:a:0 -c copy -f data - | md5sum
    b9b28e4ac500be961bd07290a34cf93f  -

    ffmpeg -i test-new-metadata.mp4 -loglevel error -map 0:v:0 -c copy -f data - -map 0:a:0 -c copy -f data - | md5sum
    d13e7177fae9b341994bc1ee8f3812bc  -

    ...and now webm, just to see if I’m losing my mind :

    Webm

    ffmpeg -i test.webm -loglevel error -metadata 'arbitrary=string' -codec copy test-new-metadata.webm

    ffmpeg -i test.webm              -loglevel error -map 0:v:0 -c copy -f data - -map 0:a:0 -c copy -f data - | md5sum
    a62e053d3dbf627db4d77c5165152a81  -

    ffmpeg -i test-new-metadata.webm -loglevel error -map 0:v:0 -c copy -f data - -map 0:a:0 -c copy -f data - | md5sum
    a62e053d3dbf627db4d77c5165152a81  -

    So I’m left wondering if my understanding of how to capture the raw video is misinformed, or if MP4 is "special" in some way. Note that I’m not interested in using ffmpeg’s own hashing functions as I want to run the raw data through an external process. The use of md5sum here is just to test if the output is identical.

    Update : As requested, I’m including the output of the metadata writing step for MP4 files :

    $ ffmpeg -i test.mp4 -metadata 'arbitrary=string' -codec copy test-new-metadata.mp4
    ffmpeg version 4.0.1 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 8.1.1 (GCC) 20180531
     configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvenc --enable-omx --enable-shared --enable-version3
     libavutil      56. 14.100 / 56. 14.100
     libavcodec     58. 18.100 / 58. 18.100
     libavformat    58. 12.100 / 58. 12.100
     libavdevice    58.  3.100 / 58.  3.100
     libavfilter     7. 16.100 /  7. 16.100
     libavresample   4.  0.  0 /  4.  0.  0
     libswscale      5.  1.100 /  5.  1.100
     libswresample   3.  1.100 /  3.  1.100
     libpostproc    55.  1.100 / 55.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42isomavc1
       creation_time   : 2010-03-20T21:29:11.000000Z
       encoder         : HandBrake 0.9.4 2009112300
     Duration: 00:00:05.57, start: 0.000000, bitrate: 551 kb/s
       Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 560x320, 465 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
       Metadata:
         creation_time   : 2010-03-20T21:29:11.000000Z
         encoder         : JVT/AVC Coding
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 83 kb/s (default)
       Metadata:
         creation_time   : 2010-03-20T21:29:11.000000Z
    Output #0, mp4, to 'test-new-metadata.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42isomavc1
       arbitrary       : string
       encoder         : Lavf58.12.100
       Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 560x320, q=2-31, 465 kb/s, 30 fps, 30 tbr, 90k tbn, 90k tbc (default)
       Metadata:
         creation_time   : 2010-03-20T21:29:11.000000Z
         encoder         : JVT/AVC Coding
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 83 kb/s (default)
       Metadata:
         creation_time   : 2010-03-20T21:29:11.000000Z
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #0:1 -> #0:1 (copy)
    Press [q] to stop, [?] for help
    frame=  166 fps=0.0 q=-1.0 Lsize=     377kB time=00:00:05.54 bitrate= 556.7kbits/s speed=4.07e+03x    
    video:315kB audio:56kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.609490%

    Update 2 : Here’s a link to the misbehaving mp4 file (375k).

  • FFMPEG creating static video ?

    10 juillet 2018, par Kjell

    I’m using ffmpeg 4.0.1 on the latest version of MacOS. I’ve got webcam capture down, as well as creating a video from a series of images. But for some reason, when I try to do screen capture, the outputted video is a bunch of colorful static with the correct audio.

    Here is the command I use :

     ffmpeg -f avfoundation -i '1:0' -y -r 30 -pix_fmt yuv420p test.mp4

    And here are my devices :

    [AVFoundation input device @ 0x7f9924404b00] AVFoundation video devices:
    [AVFoundation input device @ 0x7f9924404b00] [0] FaceTime HD Camera
    [AVFoundation input device @ 0x7f9924404b00] [1] Capture screen 0
    [AVFoundation input device @ 0x7f9924404b00] AVFoundation audio devices:
    [AVFoundation input device @ 0x7f9924404b00] [0] Built-in Microphone

    And here is some of my config :

    built with Apple LLVM version 9.1.0 (clang-902.0.39.2)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
    libavutil      56. 14.100 / 56. 14.100
    libavcodec     58. 18.100 / 58. 18.100
    libavformat    58. 12.100 / 58. 12.100
    libavdevice    58.  3.100 / 58.  3.100
    libavfilter     7. 16.100 /  7. 16.100
    libavresample   4.  0.  0 /  4.  0.  0
    libswscale      5.  1.100 /  5.  1.100
    libswresample   3.  1.100 /  3.  1.100
    libpostproc    55.  1.100 / 55.  1.100

    Anyone have an ideas on how to fix this ?

    Update with Terminal Log

    I reran the terminal command, let it run for 30s, and then canceled the operation.

    [12:41:40 Developer@Kjells-MacBook-Air ~/desktop]$ ffmpeg -f

    avfoundation -r 30 -i "1:0" -pix_fmt yuv420p output.mov
    ffmpeg version 4.0.1 Copyright (c) 2000-2018 the FFmpeg developers
     built with Apple LLVM version 9.1.0 (clang-902.0.39.2)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
     libavutil      56. 14.100 / 56. 14.100
     libavcodec     58. 18.100 / 58. 18.100
     libavformat    58. 12.100 / 58. 12.100
     libavdevice    58.  3.100 / 58.  3.100
     libavfilter     7. 16.100 /  7. 16.100
     libavresample   4.  0.  0 /  4.  0.  0
     libswscale      5.  1.100 /  5.  1.100
     libswresample   3.  1.100 /  3.  1.100
     libpostproc    55.  1.100 / 55.  1.100
    [avfoundation @ 0x7fc9a4808e00] Selected pixel format (yuv420p) is not supported by the input device.
    [avfoundation @ 0x7fc9a4808e00] Supported pixel formats:
    [avfoundation @ 0x7fc9a4808e00]   uyvy422
    [avfoundation @ 0x7fc9a4808e00]   yuyv422
    [avfoundation @ 0x7fc9a4808e00]   nv12
    [avfoundation @ 0x7fc9a4808e00]   0rgb
    [avfoundation @ 0x7fc9a4808e00]   bgr0
    [avfoundation @ 0x7fc9a4808e00] Overriding selected pixel format to use uyvy422 instead.
    Input #0, avfoundation, from '1:0':
     Duration: N/A, start: 116959.473833, bitrate: N/A
       Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1366x768, 30 tbr, 1000k tbn, 1000k tbc
       Stream #0:1: Audio: pcm_f32le, 44100 Hz, stereo, flt, 2822 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (pcm_f32le (native) -> aac (native))
    Press [q] to stop, [?] for help
    [libx264 @ 0x7fc9a48e4a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 0x7fc9a48e4a00] profile High, level 3.2
    [libx264 @ 0x7fc9a48e4a00] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - 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=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=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, mov, to 'output.mov':
     Metadata:
       encoder         : Lavf58.12.100
       Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1366x768, q=-1--1, 30 fps, 15360 tbn, 30 tbc
       Metadata:
         encoder         : Lavc58.18.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
       Metadata:
         encoder         : Lavc58.18.100 aac
    frame=  892 fps= 30 q=-1.0 Lsize=    1907kB time=00:00:29.74 bitrate= 525.1kbits/s speed=0.991x    
    video:1409kB audio:465kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.754444%
    [libx264 @ 0x7fc9a48e4a00] frame I:4     Avg QP:18.77  size:288641
    [libx264 @ 0x7fc9a48e4a00] frame P:225   Avg QP:24.73  size:   790
    [libx264 @ 0x7fc9a48e4a00] frame B:663   Avg QP:33.63  size:   166
    [libx264 @ 0x7fc9a48e4a00] consecutive B-frames:  0.8%  0.2%  0.3% 98.7%
    [libx264 @ 0x7fc9a48e4a00] mb I  I16..4: 19.3% 10.7% 70.0%
    [libx264 @ 0x7fc9a48e4a00] mb P  I16..4:  0.6%  0.0%  0.1%  P16..4:  0.4%  0.0%  0.0%  0.0%  0.0%    skip:98.7%
    [libx264 @ 0x7fc9a48e4a00] mb B  I16..4:  0.0%  0.3%  0.0%  B16..8:  1.0%  0.0%  0.0%  direct: 0.0%  skip:98.7%  L0:58.1% L1:41.7% BI: 0.2%
    [libx264 @ 0x7fc9a48e4a00] 8x8 transform intra:30.2% inter:6.9%
    [libx264 @ 0x7fc9a48e4a00] coded y,uvDC,uvAC intra: 33.5% 34.9% 33.2% inter: 0.0% 0.0% 0.0%
    [libx264 @ 0x7fc9a48e4a00] i16 v,h,dc,p: 10% 89%  1%  0%
    [libx264 @ 0x7fc9a48e4a00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12%  7% 81%  0%  0%  0%  0%  0%  0%
    [libx264 @ 0x7fc9a48e4a00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 47% 13%  2%  3%  1% 12%  1%  9%
    [libx264 @ 0x7fc9a48e4a00] i8c dc,h,v,p: 65% 29%  5%  1%
    [libx264 @ 0x7fc9a48e4a00] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x7fc9a48e4a00] ref P L0: 74.7%  2.8% 20.6%  1.9%
    [libx264 @ 0x7fc9a48e4a00] ref B L0: 56.2% 43.2%  0.7%
    [libx264 @ 0x7fc9a48e4a00] ref B L1: 97.7%  2.3%
    [libx264 @ 0x7fc9a48e4a00] kb/s:388.06
    [aac @ 0x7fc9a5217400] Qavg: 252.357
    Exiting normally, received signal 2.

    To note : I added -pix_fmt yuv420 because without it, none of my ffmpeg output seems to be able to run via Quicktime Player. Since this is the only player I use currently, I want my output to run on this player. I noticed there is a log about switching to uyvy422, but I think this is a bug because when I manually add uyvy422, the output cannot be opened at all.

  • Automating FFmpeg/ multi-core support

    23 juillet 2018, par Pablowako

    I need help with FFmpeg/batch. I have a couple of large batches of images (+14000 files each batch, +5 MB each image, .TIFF all of them) and I’m stringing them together into a .mp4 video using FFmpeg.

    The date in the metadata is broken because of the way they’re stored upon creation, so the time and date (T/D) are on the file_name. I need each frame to have its respective T/D (so its File_Name) burnt onto them for accurate measurements (scientific purpose).

    With the help of google and reddit, I’ve managed to semi-automate it like so :

    Master.bat :

    forfiles /p "D:\InputPath" /m "*.TIFF" /S /C "cmd /c C:\SlavePath\slave.bat @file @fname"

    Slave.bat :

    ffmpeg -i "%~1" -vf "drawtext=text=%~2: fontcolor=white: fontsize=30: fontfile='C\:\\FontPath\\OpenSans-Regular.ttf'" "D:\OutputPath\mod_%~1"

    Running Master.bat will output each individual image with the text burnt onto them and change the File_Name to mod_'File_name'.TIFF

    Real example : 2018-06-05—16-00-01.0034.TIFF turns into mod_2018-06-05—16-00-01.0034.TIFF

    The problem is that FFmpeg doesn’t like it when my files have "—" in them ("date—time.miliseconds.TIFF") and doesn’t like the miliseconds either, so I have to change the name of all files "manually" using Bulk Rename Utility (BRU). So, using BRU I rename all files to 00001.TIFF, 00002.TIFF, etc. and FFmpeg likes me again. It works great, but it means I can’t be AFK.

    After that, I have to go back to cmd and manually start the image to video conversion.

    Also, FFmpeg doesn’t seem to be using all cores.


    I need help finding a way to :

    1. Change master.bat’s output to 00001.TIFF etc. automatically in order of processing (i.e. first to be processed is 1.TIFF, 2nd is 2.TIFF)
    2. Add ffmpeg’s img-to-vid function to the automating system
    3. Get my CPU to use all the cores effectively if possible. 2014/15 posts found on google make it seem as though FFmpeg doesn’t support multi-core or hyperthreading.

    64bit Windows, i7 7700hq, gtx 1050 4Gb, C : SSD, D : HDD