
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (67)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains 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, parPré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 2013Puis-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 QuinnI’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
andtest.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 KjellI’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 MicrophoneAnd 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.100Anyone 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 touyvy422
, but I think this is a bug because when I manually adduyvy422
, the output cannot be opened at all. -
Automating FFmpeg/ multi-core support
23 juillet 2018, par PablowakoI 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 tomod_'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 :
- Change
master.bat
’s output to00001.TIFF
etc. automatically in order of processing (i.e. first to be processed is 1.TIFF, 2nd is 2.TIFF) - Add ffmpeg’s img-to-vid function to the automating system
- 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
- Change