
Recherche avancée
Médias (1)
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (78)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)
Sur d’autres sites (11173)
-
PHP & FFMPEG running on AWS worker finishes 2/3 of operations properly then fails
1er novembre 2016, par jreikesI have a PHP application (using the Laravel 5.3 framework) that performs several operations on video after upload (transcoding, thumbnail generation, etc.). Everything works great locally. But it works a little differently in AWS and that seems to be causing problems.
In AWS, uploads go to S3, then the EC2 workers pull those files into a local temp folder, perform about 8 operations with FFMPEG via
shell_exec()
(storing the results into the temp folder), then transfer the finished files back to S3. The first 6 operations (which are related to transcoding) finish properly. The last 2 operations (which create thumbnails) usually fail (about 1/10 times I test it, the whole thing works — inexplicably).I have a
WorkingCopy
class to give me relative and fully qualified paths, as needed, and to automatically delete temp files after completion. I also have aColdStroage
class to handle the S3 data. All 8 FFMPEG operations are structured the same way using this class.In trying to troubleshoot the problem, I tried running the FFMPEG thumbnail generation via SSH and found that it was failing. It’s this error :
[image2 @ 0x2e43320] Could not open file : path/filename.png
av_interleaved_write_frame(): Input/output errorhttps://trac.ffmpeg.org/wiki/Errors explains that this happens when the destination folder doesn’t exist. But, while testing via SSH, I was getting this error even when the destination folder existed. If I
CHMOD 777
the destination folder, the operation completes successfully via SSH.Seems simple enough, right ? Thing is, my
WorkingCopy
class creates the temp folder withmkdir($folderName, 0777, true)
— so the folders should already be 777. They actually don’t appear to be truly 777 when I check them via SSH, but still — why do the first 6 operations work ? Just to be sure this wasn’t the issue, I added aCHMOD
to my script just before thumbnail creation and it still failed.Here’s one more weird thing... If I comment out those last two FFMPEG operations, then transcoding (the preceding operation) fails. Based on that, I thought maybe the file system needs a moment to finish writing the FFMPEG output before proceeding, so I added
sleep(5)
before the end of the script. It still doesn’t work.I can’t share the full code publicly, but here’s the general format of the FFMPEG calls
$pathForLargeThumbnails = 'large_thumbnails';
$thumbnailLargeWorkingCopy = new WorkingCopy($pathForLargeThumbnails);
$thumbnailLarge = new ColdStorage($pathForLargeThumbnails);
$shellErrors .= shell_exec(
"/usr/local/bin/ffmpeg/ffmpeg"
. " -loglevel error"
. " -i " . "\"" . $originalVideoStream->fullPath . "\""
. " -y"
. " -vf thumbnail -frames:v 1"
. " \"" . $thumbnailLargeWorkingCopy->fullPath . "\""
);
$thumbnailLarge->put($thumbnailLargeWorkingCopy->get());Anyone know why this succeeds 6 times and then fails twice at the end ?
-
Slowing down 960 fps video with ffmpeg (setpts is not working)
7 novembre 2016, par haridsvI am trying to slow down a video recorded on an Android phone at
960fps
. I found a lot of previous posts and blogs that all basically say the same thing, that you need to change the "presentation timestamp" (pts). I also found the official documentation that is saying the same thing. The command-line basically looks like this :ffmpeg -i input.mp4 -filter:v "setpts=4*PTS" -r 30 -y output.mp4
I copied the video file using Android Filter Transfer and when I use the above command-line, it works to slow it down, but the resulting output is choppy. The output of the
ffmpeg
also indicates that it is duplicating the frames :frame= 687 fps=103 q=-1.0 Lsize= 4454kB time=00:00:22.80 bitrate=1600.1kbits/s dup=515 drop=0 speed=3.42x
Running
ffprobe
on the file shows this :ffprobe version 3.1.1 Copyright (c) 2007-2016 the FFmpeg developers
built with Apple LLVM version 7.3.0 (clang-703.0.31)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.1.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-lda
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 41.100 / 57. 41.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 47.100 / 6. 47.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'VID_20161030_213810.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2016-10-30 16:08:14
location : +17.3874+078.3395/
location-eng : +17.3874+078.3395/
com.android.version: 6.0.1
com.android.capture.fps: 120.000000
Duration: 00:00:05.73, start: 0.000000, bitrate: 14991 kb/s
Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 13859 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2016-10-30 16:08:14
handler_name : VideoHandleThis seems to detect that the video is
30 fps
instead of960 fps
, which is probably why it is filling in with duplicate frames instead of using the existing frames.I recording the video on Lenovo Z2 Plus (AKA Zuk Z2). If I playback the video using the built-in player at a slow speed it looks extremely smooth, so the frames are definitely there. Could someone help me figure out the right way ? The file is available here (about 10MB), in case someone would like to try it.
Update : Video playback at slo-mo on the phone recorded with another phone. Notice how smooth and slow the sparks are thrown around, which is impossible if the original video is 30fps.
-
FFmpeg UHD encoding (piping to x265)
15 décembre 2016, par TEBUpdate based on the good answers :
Source :
Prores HQ 4:2:2 10bit
4kp25
REC:2020Heres my syntax now :
ffmpeg -pix_fmt yuv422p10 -i JUNGLES_PLUTO_UHD_HDR_HLG.mov -pix_fmt yuv420p10 -f yuv4mpegpipe - | x265 --y4m - --input-res 3840x2160 --fps 25 --preset veryslow --b-adapt 2 --ref 4 --no-open-gop --keyint 50 --min-keyint 50 --no-scenecut --profile main --level-idc 5 --no-high-tier --sar 1:1 --colorprim bt709 --transfer bt709 --colormatrix bt709 --bframes 3 --hrd --vbv-bufsize 25000 --bitrate 25000 --vbv-maxrate 25000 --aud --no-info --b-pyramid -o test.h265
output: Option pixel_format not found.Target : (non-hdr UHD STB)
hevc.file
rec:709- Question 1 : How does one pipe correctly from ffmpeg to x265 ?
- Question 2 : How can one make sure the cpus are all taxed ? I have
16vcores, but im getting like 2-3% usage on all - Question 3 : Any suggestions on the parameters to increase the
quality ? -
Question 4 : Since the content is BT2020, but my target device is not currently able to display/render BT2020, but BT709.. how would i change the syntax to enable this in the best way..(downscale it)
Would :—colorprim bt2020 —transfer bt2020 —colormatrix bt709
be correct ?