Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (91)

  • À propos des documents

    21 juin 2013, par

    Que faire quand un document ne passe pas en traitement, dont le rendu ne correspond pas aux attentes ?
    Document bloqué en file d’attente ?
    Voici une liste d’actions ordonnée et empirique possible pour tenter de débloquer la situation : Relancer le traitement du document qui ne passe pas Retenter l’insertion du document sur le site MédiaSPIP Dans le cas d’un média de type video ou audio, retravailler le média produit à l’aide d’un éditeur ou un transcodeur. Convertir le document dans un format (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque 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 (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (15629)

  • ffmpeg : Render a two-pass MP4 timelapse video from a glob of JPEG images

    20 mai 2024, par algalg

    In bash on an Ubuntu 22 LTS system, I have this line to make a timelapse video file from hundreds of collected JPEG images in a folder.

    


    ffmpeg -r 25 \
  -pattern_type glob -i "/some/path/input/*.jpg" \
  -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" \
  -pix_fmt yuvj420p -preset veryslow -qp 0 \
  -movflags +faststart \
  "/some/path/output/render.mp4"


    


    The input JPEGs are 4K, so the resulting video file in that same resolution, and at high quality (which is desired), renders to a very large video file ( 250GB).

    


    Through trial and error, I've needed to add the -vf padding to avoid potential "height not divisible by 2" crashes, and set the pixel format to explicitly use jpeg full colour range yuvj420p because some of the original JPEG images were making ffmpeg complain about that.

    


    And since the goal is to eventually use these renders for streaming, -movflags +faststart was also added.

    


    It's all seeming to work very well, but just producing very large high quality video files :

    


    So to try address the filesize problem, but sticking to h264, I started reading some tutorials/docs (this one for example) that mentioned running two passes to compress the video more effectively.

    


    This sounded promising, and so to do this all in one step, rather than rendering a video and re-rendering that in two passes to better compress it) I tried this :

    


    ffmpeg -y -r 25 \
  -pattern_type glob -i "/some/path/input/*.jpg" \
  -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" \
  -pix_fmt yuvj420p -preset veryslow -qp 0 \
  -movflags +faststart \
  -pass 1 -f null /dev/null &&
ffmpeg -r 25 \
  -pattern_type glob -i "/some/path/input/*.jpg" \
  -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" \
  -pix_fmt yuvj420p -preset veryslow -qp 0 \
  -movflags +faststart \
  -pass 2 -f mp4 "/some/path/output/render.mp4"


    


    But ffmpeg seems to freak out about the inputs then :

    


    [image2 @ 0x55674a3bc440] Could not open file : /some/path/input/*.jpg
[image2 @ 0x55674a3bc440] Could not find codec parameters for stream 0 (Video: mjpeg, none(bt470bg/unknown/unknown)): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, image2, from '/some/path/input/*.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: mjpeg, none(bt470bg/unknown/unknown), 25 fps, 25 tbr, 25 tbn, 25 tbc
Output #0, mp4, to '/dev/null':
Output file #0 does not contain any stream


    


    I've tried searching around a bit for if it's even possible to do two passes with the globbing input method, but haven't had much luck in finding any documentation or help about it.

    


    So asking here if anyone has any insights ? What am I doing wrong ? Is this possible ?

    


  • ffmpeg_filter : Pass command line -threads X to filtergraph

    24 octobre 2013, par Michael Niedermayer
    ffmpeg_filter : Pass command line -threads X to filtergraph
    

    Signed-off-by : Michael Niedermayer <michaelni@gmx.at>

    • [DH] ffmpeg_filter.c
  • Run scripts in other instances and pass variables from the first script to the second

    3 février 2023, par Tyrone Hirt

    I have the following script :

    &#xA;

    Get-ChildItem -Path $RenderClient -Recurse -Filter "ffmpeg crop.ps1" |&#xA;  Where-Object { Test-Path (Join-Path $_.DirectoryName *.mp4) } |&#xA;  ForEach-Object {&#xA;  try {&#xA;  Start-Process -WorkingDirectory $_.DirectoryName powershell.exe "-NoExit -File `"$($_.FullName)`""&#xA;  }&#xA;  catch {&#xA;  Write-Host -NoNewline -ForegroundColor Red "N&#xE3;o foi possivel cortar o arquivo:"; Write-Host -NoNewline -ForegroundColor White " $_.Name "; Write-Host -NoNewline -ForegroundColor White "`nMensagem de erro:"; Write-Host -NoNewline -ForegroundColor Red " $($_.Exception.Message)`n";&#xA;   }&#xA;  }&#xA; }&#xA;

    &#xA;

    This code is a part of my first script, basically it looks for ffmpeg crop.ps1 files that have a .mp4 file in the same folder and runs those scripts.

    &#xA;

    The issue is that I would like to make the process a little cleaner and more practical, currently when I need to make a change in the ffmpeg crop script I need to open all the folders and change one by one.

    &#xA;

    To avoid this, I would like to have a single file ffmpeg crop.ps1, and every time a .mp4 file is found in the path specified in the first script, an instance of that single script ffmpeg crop.ps1 is triggered, too I need $_.FullName and $_.Name of each .mp4 file found to be passed to each respective instance so that I can use these values ​​within the ffmpeg crop script.

    &#xA;

    I've been racking my brain for days trying to get this to work, I'll be very grateful for any help with this.

    &#xA;

    Edit - in more detail

    &#xA;

    The $RenderClient folder of my script is C:/Videos inside that folder there are several child folders that follow the logic : 01-01, 01-02,02-01, 02-02...

    &#xA;

    enter image description here

    &#xA;

    Currently, inside each child folder there is a script ffmpeg crop.ps1, this script is responsible for cutting a piece of the video that is inside that folder, however it is only activated if there is a .mp4 file to be cut, in the same folder that it, that is, for the script ffmpeg crop.ps1 to be activated in folder 01-01, it is necessary to have the script itself and a .mp4 file.

    &#xA;

    This script would be triggered

    &#xA;

    enter image description here

    &#xA;

    This script would not be triggered

    &#xA;

    enter image description here

    &#xA;

    The point is, I would like to make this more practical, so instead of having one ffmpeg crop.ps1 script inside each child folder, I would like to have only one ffmpeg crop.ps1 script, and it would stay in the parent folder.

    &#xA;

    I would like it to work like this :

    &#xA;

    enter image description here

    &#xA;

    For that, I would need to change my code, so that the script recursively searches for .mp4 files inside the parent folder, for each file that is found, it must open an instance of the script ffmpeg crop.ps1 that is in the parent folder and pass the variables $_.Name and $_.FullName of the files found to the respective instance of the open ffmpeg crop.ps1 script, so that each instance will be executed correctly.

    &#xA;