
Recherche avancée
Médias (1)
-
Somos millones 1
21 juillet 2014, par
Mis à jour : Juin 2015
Langue : français
Type : Video
Autres articles (47)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...) -
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 : (...)
Sur d’autres sites (6295)
-
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 to accelerate minterpolate in ffmpeg ? [closed]
24 août 2020, par KenI'm using minterpolate of ffmpeg(version git-2020-08-21) with this command on Windows 10 :


ffmpeg -i $file -filter:v "minterpolate=mi_mode=mci:me_mode=bidir:mc_mode=aobmc:vsbmc=1:fps=60" -c:a copy "$file_60fps.mp4"



But the CPU load is only about
15%
to20%
while working.

My CPU is AMD 4800H with 8 cores and 16 threads. And I have a NVIDIA GTX1650 with CUDA.


But I cannot find any document about GPU acceleration or multithread methods of minterpolate.


Have tried
-threads 16
but nothing changed.

So how to accelerate the process ?


-
ffmpeg : unable to use hardware encoder h264_rkmpp with software decoded ATSC OTA transmission
20 août 2020, par Brad BruggemannWhen attempting to hardware encode to h264 using the Rockchip MPP encoder h264_rkmpp from an ATSC source, FFMPEG errors out with :


"Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0'"


The sample file used in this example can be downloaded here : https://transfer.sh/BRMej/out.ts


The full command used and resulting output is as follows :


$ ffmpeg -loglevel 48 -c:v mpeg2video -f mpegts -i out.ts -f mp4 -c:v h264_rkmpp -c:a libfdk_aac -preset ultrafast -mbd rd -copyinkf -flags +ilme+ildct -fflags +genpts out.mp4 -y

ffmpeg version N-98732-g9f702fc8f4 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9.3.0 (GCC)
 configuration: --prefix=/usr/local --extra-libs='-lpthread -lm' --enable-hardcoded-tables --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-rkmpp --enable-version3 --enable-libdrm --enable-libx265 --enable-nonfree
 libavutil 56. 58.100 / 56. 58.100
 libavcodec 58.100.100 / 58.100.100
 libavformat 58. 51.100 / 58. 51.100
 libavdevice 58. 11.101 / 58. 11.101
 libavfilter 7. 87.100 / 7. 87.100
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100

Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '48'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'mpeg2video'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'mpegts'.
Reading option '-i' ... matched as input url with argument 'out.ts'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'h264_rkmpp'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'libfdk_aac'.
Reading option '-preset' ... matched as AVOption 'preset' with argument 'ultrafast'.
Reading option '-mbd' ... matched as AVOption 'mbd' with argument 'rd'.
Reading option '-copyinkf' ... matched as option 'copyinkf' (copy initial non-keyframes) with argument '1'.
Reading option '-flags' ... matched as AVOption 'flags' with argument '+ilme+ildct'.
Reading option '-fflags' ... matched as AVOption 'fflags' with argument '+genpts'.
Reading option 'out.mp4' ... matched as output url.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument 48.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url out.ts.
Applying option c:v (codec name) with argument mpeg2video.
Applying option f (force format) with argument mpegts.
Successfully parsed a group of options.
Opening an input file: out.ts.
[mpegts @ 0xaaaaec9acf20] Opening 'out.ts' for reading
[file @ 0xaaaaec9ad830] Setting default whitelist 'file,crypto,data'
[mpegts @ 0xaaaaec9acf20] Before avformat_find_stream_info() pos: 0 bytes read:5013504 seeks:1 nb_streams:0
[mpegts @ 0xaaaaec9acf20] stream=0 stream_type=0 pid=31 prog_reg_desc=
[mpegts @ 0xaaaaec9acf20] probing stream 0 pp:2500
[mpegts @ 0xaaaaec9acf20] Probe with size=204749, packets=1 detected mpegvideo with score=25
[mpegts @ 0xaaaaec9acf20] probed stream 0
[mpegts @ 0xaaaaec9acf20] stream=1 stream_type=0 pid=34 prog_reg_desc=
[mpeg2video @ 0xaaaaec9cb7d0] Format yuv420p chosen by get_format().
[mpegts @ 0xaaaaec9acf20] probing stream 1 pp:2500
[mpegts @ 0xaaaaec9acf20] Probe with size=7680, packets=1 detected ac3 with score=25
[mpegts @ 0xaaaaec9acf20] probed stream 1
[mpegts @ 0xaaaaec9acf20] max_analyze_duration 5000000 reached at 5005000 microseconds st:0
[mpegts @ 0xaaaaec9acf20] PES packet size mismatch
[mpegts @ 0xaaaaec9acf20] Packet corrupt (stream = 1, dts = 2632691898).
[mpegts @ 0xaaaaec9acf20] After avformat_find_stream_info() pos: 0 bytes read:9195664 seeks:3 frames:306
Input #0, mpegts, from 'out.ts':
 Duration: 00:00:18.42, start: 29234.532200, bitrate: 5406 kb/s
 Stream #0:0[0x31], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(yuv420p) (tv, bt709, top first, left), 1920x1080 [SAR 1:1 DAR 16:9], 0/1, Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
 Side data:
 cpb: bitrate max/min/avg: 15000000/0/0 buffer size: 7995392 vbv_delay: N/A
 Stream #0:1[0x34], 154, 1/90000: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
Successfully opened the file.
Parsing a group of options: output url out.mp4.
Applying option f (force format) with argument mp4.
Applying option c:v (codec name) with argument h264_rkmpp.
Applying option c:a (codec name) with argument libfdk_aac.
Applying option copyinkf (copy initial non-keyframes) with argument 1.
Successfully parsed a group of options.
Opening an output file: out.mp4.
Codec AVOption preset (Set the encoding preset (cf. x264 --fullhelp)) specified for output file #0 (out.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[file @ 0xaaaaec9cef20] Setting default whitelist 'file,crypto,data'
Successfully opened the file.
detected 4 logical cores
Stream mapping:
 Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (h264_rkmpp))
 Stream #0:1 -> #0:1 (ac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[mpeg2video @ 0xaaaaec9cf7b0] Format yuv420p chosen by get_format().
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[mpeg2video @ 0xaaaaec9cf7b0] Skipping B slice due to open GOP
 Last message repeated 67 times
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[mpeg2video @ 0xaaaaec9cf7b0] Skipping B slice due to open GOP
 Last message repeated 67 times
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[graph 0 input from stream 0:0 @ 0xaaaaecd8c290] Setting 'video_size' to value '1920x1080'
[graph 0 input from stream 0:0 @ 0xaaaaecd8c290] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0xaaaaecd8c290] Setting 'time_base' to value '1/90000'
[graph 0 input from stream 0:0 @ 0xaaaaecd8c290] Setting 'pixel_aspect' to value '1/1'
[graph 0 input from stream 0:0 @ 0xaaaaecd8c290] Setting 'frame_rate' to value '30000/1001'
[graph 0 input from stream 0:0 @ 0xaaaaecd8c290] w:1920 h:1080 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:1/1
[format @ 0xaaaaecadf950] Setting 'pix_fmts' to value 'drm_prime'
[auto_scaler_0 @ 0xaaaaecd80070] Setting 'flags' to value 'bicubic'
[auto_scaler_0 @ 0xaaaaecd80070] w:iw h:ih flags:'bicubic' interl:0
[format @ 0xaaaaecadf950] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format'
Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented
Error while processing the decoded data for stream #0:0
[AVIOContext @ 0xaaaaec9cf190] Statistics: 0 seeks, 0 writeouts
[AVIOContext @ 0xaaaaec9b5900] Statistics: 9556112 bytes read, 3 seeks
Conversion failed!