Recherche avancée

Médias (3)

Mot : - Tags -/Valkaama

Autres articles (75)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (4497)

  • ffmpeg ffplay udp streaming quality and error [closed]

    1er janvier 2023, par SangEun Shin

    I am receiving udp streaming through ffmpeg ffplay, but there is a problem that the video is broken.
I'm using a Gopro Hero 11 camera, but I can't receive more than three camera streams because the streaming is fixed with the udp 8554 port.

    


    So using Raspberry pie 4 and nginx reverse proxy for each camera, multi camera streaming succesfully received on another raspberry pie.

    


    In conclusion, gopro camera udp streaming -> raspberrypi received. use nginx reverse proxy -> another raspberry pi received.

    


    However, there is an issue that streaming video quality is broken.
    
I used ffplay :
ffplay udp://@:23002

    


    and the following error also appears :

    


    [h264 @ 0x91cb4ed0] reference picture missing during reorderf=0/0   
[h264 @ 0x91cb4ed0] Missing reference picture, default is 65559
[h264 @ 0x91d234d0] reference picture missing during reorder
[h264 @ 0x91d234d0] Missing reference picture, default is 65559
[h264 @ 0x93028ba0] reference picture missing during reorderf=0/0   
[h264 @ 0x93028ba0] Missing reference picture, default is 65560
[h264 @ 0x9302d6d0] mmco: unref short failure 0KB sq=    0B f=0/0   
[h264 @ 0x9302d6d0] number of reference frames (0+3) exceeds max (2; probably corrupt input), discarding one
[mpegts @ 0x93000630] Packet corrupt (stream = 0, dts = 73156083)
[mpegts @ 0x93000630] Packet corrupt (stream = 0, dts = 73159086)
[mpegts @ 0x93000630] Packet corrupt (stream = 0, dts = 73165092)
[h264 @ 0x9302d6d0] reference picture missing during reorderf=0/0   
[h264 @ 0x9302d6d0] Missing reference picture, default is 65540
[h264 @ 0x930e08e0] reference picture missing during reorderf=0/0   
[h264 @ 0x930e08e0] Missing reference picture, default is 65541


    


    so i use ffplay option -fflag +discardcorrupt. and
use -vf "setpts=N/60/TB".

    


    conclusion : ffplay udp://@:23002 -fflag +discardcorrupt -vf "setpts=N/60/TB"

    


    img

    


    It's better than before, but is still breaks when the change in streaming video is large.

    


    and The packet corrupt still remains, I don't know how to set the pts value that fits the streaming video.

    


    Or is there an issue that I didn't find ?

    


    I'm looking for a way to match the pts.

    


    But I wonder if this is the right way.

    


    I'd appreciate your help to the lost.

    


  • Keep trying a command until it returns "True" and then execute another

    6 janvier 2023, par Tyrone Hirt

    I'm trying to make a script to check the processor usage for a specific process every 10 seconds, and when the usage is less than 2% I want another 2 commands to be executed.

    


    The purpose is to know when the program has finished processing the requests, in order to release the execution of the other commands.

    


    I created this script to check the processor usage by this application :

    


    SET ProcessorUsage = wmic path Win32_PerfFormattedData_PerfProc_Process get Name,PercentProcessorTime | findstr /i /c:RenderQuery

%ProcessorUsage%


    


    And these are the commands I want to be executed when the processor usage of the RenderQuery application is less than 2% :

    


    for /f "delims=" %%X in ('dir /s/b/ad Proxy') do for /f "delims=" %%Y in ('dir /s/b/a-d "%%X"') do move "%%Y" ".\03. Proxy"

for /f "delims=" %%i in ('dir /s/b/ad Proxy') do rd "%%i"


    


    I tried to create a script that way here :

    


    SET ProcessorUsage = wmic path Win32_PerfFormattedData_PerfProc_Process get Name,PercentProcessorTime | findstr /i /c:RenderQuery
:Loop
IF %ProcessorUsage% LSS 2 (
(for /f "delims=" %%X in ('dir /s/b/ad Proxy') do for /f "delims=" %%Y in ('dir /s/b/a-d "%%X"') do move "%%Y" ".\03. Proxy") && (for /f "delims=" %%i in ('dir /s/b/ad Proxy') do rd "%%i")
) ELSE (
sleep 10 && goto Loop
)


    


    I also tried this way here :

    


    SET ProcessorUsage = wmic path Win32_PerfFormattedData_PerfProc_Process get Name,PercentProcessorTime | findstr /i /c:RenderQuery

:Loop
for %ProcessorUsage% LSS 2 do (
(for /f "delims=" %%X in ('dir /s/b/ad Proxy') do for /f "delims=" %%Y in ('dir /s/b/a-d "%%X"') do move "%%Y" ".\03. Proxy") && (for /f "delims=" %%i in ('dir /s/b/ad Proxy') do rd "%%i") || (sleep 10 && goto Loop)
)


    


    With these scripts I tried to create the window that only blinks and closes right away...

    


    What's the best way to do this ?

    


    EDIT

    


    Explaining in more detail : I work with video production, so I constantly need to render Proxy files, which are video files with low quality to be used during my video editing and replaced at the end of editing, this makes the much smoother video editing.

    


    Having said that, I have a folder model, inside this folder model there is a folder where I always download the video files from the camera and in that folder there is always a .bat file that opens all the video files in the software that generates proxy files of the camera's video files.

    


    This .bat file has this exact code :

    


    start "" "C:\Users\User\Downloads\FFmpeg_Batch_AV_Converter_Portable_2.8.4_x64\FFBatch.exe" -f "%~dp0\"


    


    When this software opens, it automatically renders the proxy files and their output is always in a child folder of the original files folder, and the name of the folder is Proxy.

    


    The issue is that I don't want them to be in several separate Proxy folders, so I created another .bat file that is in the parent folder of all video files, this script contains exactly these lines :

    


    for /f "delims=" %%X in ('dir /s/b/ad Proxy') do for /f "delims=" %%Y in ('dir /s/b/a-d "%%X"') do move "%%Y" ".\03. Proxy"

for /f "delims=" %%i in ('dir /s/b/ad Proxy') do rd "%%i"


    


    That is, it only searches recursively for files that are inside folders named Proxy, then it moves these files to the folder 03. Proxy that is inside the parent folder.

    


    The second line looks for all proxy folders (which are now empty) and deletes them.

    


    The point is : I currently run the second script manually, as soon as the render finishes, and I would like it to run automatically.

    


    Given this, I thought of adding a line in the first script, which opens the video files in the rendering program, this line would call the second script in the background, and the second script would be analyzing the CPU usage of this application every 10 seconds, and when the usage is less than 2% (in theory there is nothing else rendering, since it has a low CPU usage) it executes the lines that move the files and remove the folders.

    


    I think there's a good change for this to work, because this software renders 4 videos at a time, and this means that there is no time between stopping rendering a video and starting another... the CPU usage is always very high until all the videos are finished, so I think this would be the best signal to release the other commands.

    


  • audio is not exact copy in ffmpeg proxies

    9 mars 2023, par 5Diraptor

    I always work with proxy footage in Premiere Pro, so I have a batch file set up to run any new raw footage through ffmpeg and produce a proxy version. I avoid creating proxies through Premiere Pro as it's slow, I have little control over the output, and often the proxies aren't compressed as much as they could be.

    


    This is the command I run to create proxies. It also overlays a watermark so that it is obvious when proxies are used.

    


    ffmpeg -i "original.MOV" -i "proxy_overlay.png" -filter_complex "overlay=0:0" -crf 20 -c:v libx264 -c:a copy "Proxy/proxy_for_original.mov"


    


    This has always been fine, but I've received some footage to work on from a different camera, and when I create proxies and try to attach them in Premiere Pro, I get the error : "Proxy Media and Full Resolution Media must have matching audio channels."

    


    enter image description here

    


    When I compare the file properties in Premiere Pro, I see this :

    


    Original :

    


    enter image description here

    


    Proxy :

    


    enter image description here

    


    As you can see, the original contains 8x audio tracks and a timecode track, but the proxy version doesn't state this.

    


    I've been working on the ffmpeg command to try and retain the original audio details, but nothing I do seems to work. I thought that the command -c:a copy would copy the audio tracks across without any changes at all. However I can't seem to find a command that creates an exact copy of all audio tracks. Also does the timecode track matter, should I map this to the proxy as well ?