
Recherche avancée
Autres articles (26)
-
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (4065)
-
ffmpeg extract frame and get timestamp based on creation time for each extracted frame in exif or txt
4 août 2021, par ScalingI try to extract frames from a underwater survey video using ffmpeg. the extracted frames should be merged with a gps position based on a timestamp later in the process. the code i use to extract the frames is :



ffmpeg -i GOPR0173.MP4 -qscale:v 2 -r 1 frames/%4d.jpg
.


I need a solution to get the real timestamp of the frame based on the survey datetime, so that the timestamp of the frame equals the real time when the video was created. Ideally the timestamp is saved in the images exif or if this is not possible in a seperate textfile and the timestamp is used as name of the files like 2020_01_01_HH_MM_SS.jpg.



My idea is to use the creation_time of the video add the timestamp of the frame to this and store the result in the exif of the extracted frame or if this is not possible in a txt file.



Im new to ffmpeg and really lost and would appreciate any help to solve this task !
If anyone could provide me the necessary code, that would be awesome !



C:\Unterwasserfotos>ffmpeg -i GOPR0173.MP4 -vstats -qscale:v 2 -r 0.1 frames/%4d.jpg
ffmpeg version git-2020-01-21-fc6fde2 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9.2.1 (GCC) 20200122
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls
 --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enabl
e-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-
libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwol
ame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enab
le-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable
-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable
-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enabl
e-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
 libavutil 56. 38.100 / 56. 38.100
 libavcodec 58. 66.100 / 58. 66.100
 libavformat 58. 35.104 / 58. 35.104
 libavdevice 58. 9.103 / 58. 9.103
 libavfilter 7. 71.100 / 7. 71.100
 libswscale 5. 6.100 / 5. 6.100
 libswresample 3. 6.100 / 3. 6.100
 libpostproc 55. 6.100 / 55. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GOPR0173.MP4':
 Metadata:
 major_brand : mp41
 minor_version : 538120216
 compatible_brands: mp41
 creation_time : 2020-01-21T12:33:10.000000Z
 firmware : HD4.02.05.00.00
 Duration: 00:02:21.85, start: 0.000000, bitrate: 30152 kb/s
 Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1920x1080 [SAR
 1:1 DAR 16:9], 30000 kb/s, 50 fps, 50 tbr, 90k tbn, 100 tbc (default)
 Metadata:
 creation_time : 2020-01-21T12:33:10.000000Z
 handler_name : GoPro AVC
 encoder : GoPro AVC encoder
 timecode : 12:33:11:16
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (defa
ult)
 Metadata:
 creation_time : 2020-01-21T12:33:10.000000Z
 handler_name : GoPro AAC
 timecode : 12:33:11:16
 Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
 Metadata:
 creation_time : 2020-01-21T12:33:10.000000Z
 handler_name : GoPro TCD
 timecode : 12:33:11:16
 Stream #0:3(eng): Data: none (fdsc / 0x63736466), 12 kb/s (default)
 Metadata:
 creation_time : 2020-01-21T12:33:10.000000Z
 handler_name : GoPro SOS
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'frames/%4d.jpg':
 Metadata:
 major_brand : mp41
 minor_version : 538120216
 compatible_brands: mp41
 firmware : HD4.02.05.00.00
 encoder : Lavf58.35.104
 Stream #0:0(eng): Video: mjpeg, yuvj420p(pc), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s,
 0.10 fps, 0.10 tbn, 0.10 tbc (default)
 Metadata:
 creation_time : 2020-01-21T12:33:10.000000Z
 handler_name : GoPro AVC
 timecode : 12:33:11:16
 encoder : Lavc58.66.100 mjpeg
 Side data:
 cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
frame= 16 fps=0.3 q=2.0 Lsize=N/A time=00:02:40.00 bitrate=N/A dup=0 drop=7076 speed=3.26x
video:1938kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown´´´










-
How can I can convert with ffmpeg using this settings ?
18 octobre 2020, par For FunHow can I convert with this settings ?
I want to convert using this settings example : ref=4 subme=9
When I try this settings it won't work all settings below go default




ffmpeg -i input.mp4 -c:a copy -c:v libx265 -x265-params "cabac=1:ref=4:deblock=1:1 :-1:analyse=0x3:0x113:me=umh:subme=9:psy=1:fade_compensate=0.00:psy_rd=1.00:0.00:mixed_ref=1:me_range=32:chroma_me=1:trellis=2:8x8dct=1:cqm=0:deadzone=21,11:fast_pskip=1:chroma_qp_offset=-2:threads=34:lookahead_threads=5:sliced_threads=0:nr=0:decimate=1:interlaced=0:bluray_compat=0:constrained_intra=0:bframes=9:b_pyramid=2:b_adapt=2:b_bias=0:direct=1:weightb=1:open_gop=0:weightp=2:keyint=240:keyint_min=23:scenecut=40:intra_refresh=:rc=crf:mbtree=0:crf=16.0000:qcomp=0.72:qpmin=0:qpmax=81:qpstep=4:ip_ratio=1.40:pb_ratio=1.30:aq=1:0.85" -x265-params profile=main10 -pix_fmt yuv420p10le output.mp4




Update:
Full output:
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) 
configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2020-10-18T17:47:30.000000Z
 com.android.version: 10
 com.android.capture.fps: 60.000000
 Duration: 00:00:01.92, start: 0.000000, bitrate: 19228 kb/s
 Stream #0:0(eng): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv), 1920x1080, 15658 kb/s, SAR 1:1 DAR 16:9, 59.88 fps, 59.94 tbr, 90k tbn, 90k tbc (default)
 Metadata:
 rotate : 90
 creation_time : 2020-10-18T17:47:30.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, 191 kb/s (default)
 Metadata:
 creation_time : 2020-10-18T17:47:30.000000Z
 handler_name : SoundHandle
Stream mapping:
 Stream #0:0 -> #0:0 (hevc (native) -> hevc (libx265))
 Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[libx265 @ 0x30000c4930] Unknown option: profile.
x265 [info]: HEVC encoder version 3.2.1+1-b5c86a64bbbe
x265 [info]: build info [Linux][GCC 9.3.0][32 bit][noasm] 10bit
x265 [info]: using cpu capabilities: none!
x265 [info]: Main 10 profile, Level-4.1 (Main tier)
x265 [warning]: No thread pool allocated, --wpp disabled
x265 [warning]: No thread pool allocated, --lookahead-slices disabled
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 3 / none
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias: 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip signhide tmvp b-intra
x265 [info]: tools: strong-intra-smoothing deblock sao
Output #0, mp4, to 'output.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 com.android.capture.fps: 60.000000
 com.android.version: 10
 encoder : Lavf58.29.100
 Stream #0:0(eng): Video: hevc (libx265) (hev1 / 0x31766568), yuv420p10le, 1080x1920 [SAR 1:1 DAR 9:16], q=2-31, 59.94 fps, 60k tbn, 59.94 tbc (default)
 Metadata:
 encoder : Lavc58.54.100 libx265
 creation_time : 2020-10-18T17:47:30.000000Z
 handler_name : VideoHandle
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
 displaymatrix: rotation of -0.00 degrees
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s (default)
 Metadata:
 creation_time : 2020-10-18T17:47:30.000000Z
 handler_name : SoundHandle
frame= 18 fps=0.0 q=0.0 size= 0kB time=00:00:00.frame= 28 fps=3.6 q=0.0 size= 0kB time=00:00:00.frame= 31 fps=2.6 q=-0.0 size= 0kB time=00:00:00frame= 33 fps=2.6 q=-0.0 size= 0kB time=00:00:00frame= 34 fps=2.3 q=-0.0 size= 0kB time=00:00:00frame= 37 fps=2.2 q=-0.0 size= 0kB time=00:00:00frame= 39 fps=2.1 q=-0.0 size= 0kB time=00:00:00frame= 42 fps=2.0 q=-0.0 size= 0kB time=00:00:00frame= 44 fps=1.9 q=-0.0 size= 0kB time=00:00:00frame= 47 fps=1.9 q=-0.0 size= 0kB time=00:00:00frame= 49 fps=1.8 q=-0.0 size= 0kB time=00:00:00frame= 52 fps=1.8 q=-0.0 size= 0kB time=00:00:00frame= 54 fps=1.7 q=-0.0 size= 0kB time=00:00:00frame= 57 fps=1.7 q=-0.0 size= 0kB time=00:00:01frame= 59 fps=1.6 q=-0.0 size= 0kB time=00:00:01frame= 62 fps=1.6 q=-0.0 size= 0kB time=00:00:01frame= 64 fps=1.6 q=-0.0 size= 0kB time=00:00:01frame= 67 fps=1.6 q=-0.0 size= 0kB time=00:00:01frame= 69 fps=1.6 q=-0.0 size= 0kB time=00:00:01frame= 72 fps=1.6 q=-0.0 size= 0kB time=00:00:01frame= 74 fps=1.5 q=-0.0 size= 0kB time=00:00:01frame= 77 fps=1.6 q=-0.0 size= 0kB time=00:00:01frame= 78 fps=1.5 q=-0.0 size= 0kB time=00:00:01frame= 81 fps=1.5 q=-0.0 size= 0kB time=00:00:01frame= 83 fps=1.5 q=-0.0 size= 0kB time=00:00:01frame= 86 fps=1.5 q=-0.0 size= 0kB time=00:00:01frame= 88 fps=1.5 q=-0.0 size= 0kB time=00:00:01frame= 91 fps=1.5 q=-0.0 size= 0kB time=00:00:01frame= 93 fps=1.5 q=-0.0 size= 0kB time=00:00:01frame= 96 fps=1.5 q=-0.0 size= 0kB time=00:00:01frame= 97 fps=1.2 q=-0.0 Lsize= 135kB time=00:00:01.89 bitrate= 586.0kbits/s speed=0.0234x
video:85kB audio:45kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 4.650742%
x265 [info]: frame I: 1, Avg QP:31.00 kb/s: 6091.83
x265 [info]: frame P: 20, Avg QP:31.26 kb/s: 1253.18
x265 [info]: frame B: 76, Avg QP:35.37 kb/s: 134.14
x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x265 [info]: consecutive B-frames: 4.8% 0.0% 0.0% 19.0% 76.2%encoded 97 frames in 80.86s (1.20 fps), 426.29 kb/s, Avg QP:34.48



-
Evolution #4565 (Nouveau) : Traduction des mois ave affdate
2 octobre 2020, par Laurent LefebvreUne petite idée d’évolution :
Traduire le mois dans la langue du site lorsque l’on utilise un formatage de type php date (ex : pour le 2/10/2020, [(#DATE|affdated F Y)] donnerait "2 octobre 2020" sur un site francophone.