
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (33)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...)
Sur d’autres sites (3359)
-
Generating DASH manifest with ffmpeg works in Docker exec shell but not in os.exec golang
22 février 2023, par InquisitorI am trying to generate a DASH manifest with ffmpeg using this command


/usr/bin/ffmpeg -f webm_dash_manifest -i ./480.webm -f webm_dash_manifest -i ./audio.webm -c copy -map 0:0 -map 1:0 -y -f webm_dash_manifest -adaptation_sets "id=0,streams=0 id=1,streams=1" ./manifest.mpd -loglevel repeat+level+verbose



I run this in go, in a docker container as shown :


func runFFmpeg(arguments []string) {
 arguments = append(arguments, "-loglevel", "repeat+level+verbose")
 cmd := exec.Command("ffmpeg", arguments...)

 fmt.Printf("cmd: %v\n", cmd)

 var out bytes.Buffer
 var stderr bytes.Buffer
 cmd.Stdout = &out
 cmd.Stderr = &stderr
 err := cmd.Run()

 if err != nil {
 log.Println(err)
 log.Println(stderr.String())
 }
}
runFFmpeg([]string{"-f", "webm_dash_manifest", "-i", "./480.webm", "-f", "webm_dash_manifest", "-i", "./audio.webm", "-c", "copy", "-map", "0:0", "-map", "1:0", "-y", "-f", "webm_dash_manifest", "-adaptation_sets", "\"id=0,streams=0 id=1,streams=1\"", "./manifest.mpd"})



But I get this output :


cmd: /usr/bin/ffmpeg -f webm_dash_manifest -i ./480.webm -f webm_dash_manifest -i ./audio.webm -c copy -map 0:0 -map 1:0 -y -copy_unknown -f webm_dash_manifest -adaptation_sets "id=0,streams=0 id=1,streams=1" ./manifest.mpd -loglevel repeat+level+verbose
 2023/02/22 04:45:17 exit status 1
 2023/02/22 04:45:17 [info] ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
 [info] built with gcc 12.2.1 (Alpine 12.2.1_git20220924-r3) 20220924
 [info] configuration: --prefix=/usr --enable-avfilter --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-gpl --enable-libass --enable-libmp3lame --enable-libpulse --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 --enable-libtheora --enable-libv4l2 --enable-libdav1d --enable-lto --enable-postproc --enable-pic --enable-pthreads --enable-shared --enable-libxcb --enable-librist --enable-libsrt --enable-libssh --enable-libvidstab --disable-stripping --disable-static --disable-librtmp --disable-lzma --enable-libaom --enable-libopus --enable-libsoxr --enable-libwebp --enable-vaapi --enable-vdpau --enable-vulkan --enable-libdrm --enable-libzmq --optflags=-O2 --disable-debug --enable-libsvtav1
 [info] libavutil 57. 28.100 / 57. 28.100
 [info] libavcodec 59. 37.100 / 59. 37.100
 [info] libavformat 59. 27.100 / 59. 27.100
 [info] libavdevice 59. 7.100 / 59. 7.100
 [info] libavfilter 8. 44.100 / 8. 44.100
 [info] libswscale 6. 7.100 / 6. 7.100
 [info] libswresample 4. 7.100 / 4. 7.100
 [info] libpostproc 56. 6.100 / 56. 6.100
 [webm_dash_manifest @ 0x7fcec2836100] [warning] Could not find codec parameters for stream 0 (Video: vp9, 1 reference frame, none(tv, progressive, left), 640x480): unspecified pixel format
 Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
 [info] Input #0, webm_dash_manifest, from './480.webm':
 [info] Metadata:
 [info] title : Big Buck Bunny, Sunflower version
 [info] GENRE : Animation
 [info] MAJOR_BRAND : isom
 [info] MINOR_VERSION : 1
 [info] COMPATIBLE_BRANDS: isomavc1
 [info] COMPOSER : Sacha Goedegebure
 [info] ARTIST : Blender Foundation 2008, Janus Bager Kristensen 2013
 [info] COMMENT : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
 [info] ENCODER : Lavf59.27.100
 [info] Duration: 00:10:34.60, bitrate: 352 kb/s
 [info] Stream #0:0: Video: vp9, 1 reference frame, none(tv, progressive, left), 640x480, SAR 853:640 DAR 853:480, 30 fps, 30 tbr, 1k tbn (default)
 [info] Metadata:
 [info] HANDLER_NAME : GPAC ISO Video Handler
 [info] VENDOR_ID : [0][0][0][0]
 [info] ENCODER : Lavc59.37.100 libvpx-vp9
 [info] DURATION : 00:10:34.600000000
 [info] webm_dash_manifest_duration: 634600
 [info] webm_dash_manifest_initialization_range: 889
 [info] webm_dash_manifest_file_name: 480.webm
 [info] webm_dash_manifest_track_number: 1
 [info] webm_dash_manifest_cues_start: 27924928
 [info] webm_dash_manifest_cues_end: 27927508
 [info] webm_dash_manifest_bandwidth: 738287
 [info] webm_dash_manifest_cluster_keyframe: 1
 [info] webm_dash_manifest_cue_timestamps: 67,5067,10067,15067,20067,25067,30067,35067,40067,45067,50067,55067,60067,65067,70067,75067,80067,85067,90067,95067,100067,105067,110067,115067,120067,125067,130067,135067,140067,145067,150067,155067,160067,165067,170067,175067,180067,185067,190067,195067
 [info] Input #1, webm_dash_manifest, from './audio.webm':
 [info] Metadata:
 [info] title : Big Buck Bunny, Sunflower version
 [info] GENRE : Animation
 [info] MAJOR_BRAND : isom
 [info] MINOR_VERSION : 1
 [info] COMPATIBLE_BRANDS: isomavc1
 [info] COMPOSER : Sacha Goedegebure
 [info] ARTIST : Blender Foundation 2008, Janus Bager Kristensen 2013
 [info] COMMENT : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
 [info] ENCODER : Lavf59.27.100
 [info] Duration: 00:05:35.91, bitrate: 120 kb/s
 [info] Stream #1:0: Audio: vorbis, 48000 Hz, 5.1, fltp (default)
 [info] Metadata:
 [info] HANDLER_NAME : GPAC ISO Audio Handler
 [info] VENDOR_ID : [0][0][0][0]
 [info] ENCODER : Lavc59.37.100 libvorbis
 [info] DURATION : 00:05:35.907000000
 [info] webm_dash_manifest_duration: 335907
 [info] webm_dash_manifest_initialization_range: 7411
 [info] webm_dash_manifest_file_name: audio.webm
 [info] webm_dash_manifest_track_number: 1
 [info] webm_dash_manifest_cues_start: 5047497
 [info] webm_dash_manifest_cues_end: 5048846
 [info] webm_dash_manifest_bandwidth: 126994
 [info] webm_dash_manifest_cluster_keyframe: 1
 [info] webm_dash_manifest_cue_timestamps: 0,4986,9980,14962,19959,24956,29946,34930,39916,44911,49908,54892,59874,64868,69858,74858,79855,84847,89834,94834,99826,104826,109826,114818,119812,124799,129780,134770,139756,144743,149727,154719,159714,164706,169698,174687,179668,184667,189658,194650,19
 HERE'S THE ERROR --> [error] Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted
 [error] Error initializing output stream 0:1 -- 
 [info] Stream mapping:
 [info] Stream #0:0 -> #0:0 (copy)
 [info] Stream #1:0 -> #0:1 (copy)
 [error] 
 [AVIOContext @ 0x7fcebe23a840] [verbose] Statistics: 0 bytes written, 0 seeks, 0 writeouts
 [AVIOContext @ 0x7fcebe23a980] [verbose] Statistics: 5940786 bytes read, 133 seeks
 [AVIOContext @ 0x7fcebe23acc0] [verbose] Statistics: 2260628 bytes read, 72 seeks



It works perfectly however if I run it within docker exec (exec into the container and run the command in bash). Also, note in the last output that the command is well formed when I print it out from go. File permissions are also not the problem since the command to create the video variants works with os.exec i.e


runFFmpeg([]string{"-i", originalFilePath, "-c:v", "libvpx-vp9", "-keyint_min", "150", "-g", "150", "-tile-columns", "4", "-frame-parallel", "1", "-f", "webm", "-dash", "1", "-an", "-vf", fmt.Sprintf("scale=%s:%s", width, height), "-b:v", bitRate, "-dash", "1", "-y", destinationFilePath})



-
Android Video color effect issue using FFMPEG [on hold]
8 juin 2016, par umesh mishraI m facing one problem. when we use library for effect that i have mentioned below video is created only 1/3 of actual video size. please tell me what is issue. and also doesn’t work on marshmallow.
https://github.com/krazykira/VidEffects/wiki/Permanent-video-effects -
Fastest way to extract raw Y' plane data from Y'Cb'Cr encoded video ?
20 février 2024, par memekoI have a use-case where I'm extracting
I-Frames
from videos and turning them into perceptual hashes for later analysis.

⠀


I'm currently using
ffmpeg
to do this with a command akin to :

ffmpeg -skip_frame nokey -i 'in%~1.mkv' -vsync vfr -frame_pts true -vf 'keyframes/_Y/out%~1/%%06d.bmp'


and then reading in the data from the resulting images.


⠀


This is a bit wasteful as, to my understanding,
ffmpeg
does implicitYUV -> RGB
colour-space conversion and I'm also needlessly saving intermediate data to disk.

Most modern video codecs utilise chroma subsampling and have frames encoded in a Y'CbCr colour-space, where Y' is the luma component, and Cb Cr are the blue-difference, red-difference chroma components.


Which in something like
YUV420p
used in h.264/h.265 video codecs is encoded as such :



Where each Y' value is
8 bits
long and corresponds to a pixel.

⠀


As I use gray-scale data for generating the perceptual hashes anyway, I was wondering if there is a way to simply grab just the raw Y' values from any given
I-Frame
into an array and skip all of the unnecessary conversions and extra steps ?

(as the luma component is essentially equivalent to the grayscale data i need for generating hashes)


I came across the
-vf 'extractplanes=y'
filter inffmpeg
that seems like it might do just that, but according to source :



"...what is extracted by 'extractplanes' is not raw data of the (for example) Y plane. Each extracted is converted to grayscale. That is, the converted video data has YUV (or RGB) which is different from the input."




which makes it seem like it's touching chroma components and doing some conversion anyway, in testing applying this filter didn't affect the processing time of the
I-Frame
extraction either.

⠀


My script is currently written in
Python
, but I am in the process of migrating it toC++
, so I would prefer any solutions pertaining to the latter.

ffmpeg
seems like the ideal candidate for this task, but I really am looking for whatever solution that would ingest the data fastest, preferably saving directly toRAM
, as I'll be processing a large number of video files and discardingI-Frame
luma pixel data once a hash has been generated.

I would also like to associate each
I-Frame
with its corresponding frame number in the video.