Recherche avancée

Médias (91)

Autres articles (65)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (11388)

  • When assigning an IP via Docker container macvlan and sending video to that container, will the data be limited ?

    11 septembre 2023, par leejh

    I created a macvlan network as shown below.

    


    docker network create -d macvlan \
    --subnet=192.168.1.0/24 \
    --gateway=192.168.1.1 \
    -o parent=eno1 \
    macvlan_network


    


    And the container was created as shown below.

    


    The plan was to create a mistserver inside the container to send and receive video via IP.

    


    docker run -d --name mistserver1 --restart=always -v mistserver_config:/config -v /home/ketivrar/detr2:/home/shared_folder --net=macvlan_network --ip 192.168.1.16 r0gger/mistserver


    


    There is no problem when transmitting video in the directory using the Mist server.

    


    An error occurs when transmitting video using ffmpeg as shown below.

    


    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 8000k -f flv rtmp://192.168.1.16/live/cam1


    


    If you run the above command, the following error will occur and it will stop.

    


    av_interleaved_write_frame(): Connection reset by peer58.73 bitrate=8053.7kbits/s dup=0 drop=4 speed=0.948x
[flv @ 0x5582ab9e6e00] Failed to update header with correct duration.
[flv @ 0x5582ab9e6e00] Failed to update header with correct filesize.
Error writing trailer of rtmp://192.168.1.2/live/cam1: Connection reset by peer
frame= 1845 fps= 29 q=33.0 Lsize=   57806kB time=00:00:58.86 bitrate=8044.2kbits/s dup=0 drop=4 speed=0.94x


    


    I wonder what the reason is...

    


    I created two streams on the Mist server and sent video to each stream simultaneously.

    


    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 8000k -f flv rtmp://192.168.1.16/live/cam1


    


    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 8000k -f flv rtmp://192.168.1.16/live/cam2


    


    av_interleaved_write_frame(): Connection reset by peer29.46 bitrate=8135.7kbits/s dup=0 drop=2 speed=0.343x
[flv @ 0x55975fb05e00] Failed to update header with correct duration.
[flv @ 0x55975fb05e00] Failed to update header with correct filesize.
Error writing trailer of rtmp://192.168.1.16/live/cam1: Connection reset by peer
frame=  971 fps= 11 q=33.0 Lsize=   29395kB time=00:00:29.66 bitrate=8116.6kbits/s dup=0 drop=2 speed=0.34x



####


av_interleaved_write_frame(): Connection reset by peer25.06 bitrate=8313.0kbits/s dup=0 drop=1 speed=0.292x
[flv @ 0x55ce4a7ce340] Failed to update header with correct duration.
[flv @ 0x55ce4a7ce340] Failed to update header with correct filesize.
Error writing trailer of rtmp://192.168.1.16/live/rtsp: Connection reset by peer
frame=  853 fps=9.8 q=33.0 Lsize=   25857kB time=00:00:25.76 bitrate=8220.2kbits/s dup=0 drop=2 speed=0.297x



    


    It seems to stop before the total size of the two reaches 60000.

    


    This time, I sent the video using OBS.

    


    I confirmed that the connection was disconnected and reconnected at a similar time as ffmpeg.

    


    I think there is a size limit somewhere. Could you please tell me a solution or the exact problem ?

    


    +++++

    


    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 4000k -f flv rtmp://192.168.1.16/live/cam1


    


    ->

    


    [flv @ 0x56547e6f1e00] Failed to update header with correct duration.019.0kbits/s dup=0 drop=12 speed=0.982x
[flv @ 0x56547e6f1e00] Failed to update header with correct filesize.
frame= 5328 fps= 30 q=-1.0 Lsize=   87550kB time=00:02:57.93 bitrate=4030.8kbits/s dup=0 drop=12 speed=0.996x


    


    success !

    


    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 5000k -f flv rtmp://192.168.1.16/live/cam1


    


    ->

    


    av_interleaved_write_frame(): Connection reset by peer30.63 bitrate=5039.7kbits/s dup=0 drop=6 speed=0.965x
[flv @ 0x555ad97f7e00] Failed to update header with correct duration.
[flv @ 0x555ad97f7e00] Failed to update header with correct filesize.
Error writing trailer of rtmp://192.168.1.16/live/cam1: Connection reset by peer
frame= 2802 fps= 30 q=37.0 Lsize=   55876kB time=00:01:30.83 bitrate=5039.3kbits/s dup=0 drop=6 speed=0.962x


    


    fail...

    


    I only adjusted -b:v 5000k, but the results were mixed.

    


    Are there any resource limits for each container ?

    


    I didn't set it up separately.

    


  • How to batch process a series of video files with powershell and other-transcode/ffmpeg

    7 juin 2022, par DarkDiamond

    TL ;DR

    


    What did I do wrong in the following PowerShell-Script ? It does not work as expected.

    



    


    I am recording some of my lectures in my university with a photo camera. This works pretty well although I have to split the single lecture into three to four parts because the camera can only record 29 minutes of video in one take. I know that this is a common issue related to some licensensing problem that most photo cameras simply don't have the right license to record longer videos. But it confronts me with the problem that I later have to edit the files together after I did some post processing on them.

    


    With the camera I produce up to four video files with sizes around 3.5 GB which is way to big in order to be of any use because our IT department understandably doesn't want to host so much data, as I produce around 22 GB of video material each week.

    


    Some time ago I came across a very useful tool called "other-video-transcoding" by Don Melton over on GitHub, written in ruby, that allows me to compress the files to a reasonable file size without any visual loss. In addition I crop the videos to remove the part of each frame that is neither the board nor a place where my professor stands in order to decrease the filesize even further and do some privacy protection by cutting out most of the students.

    


    As the tools are accessable via the command line, it is relatively easy to configure and does not cost additional computational power to render a nice gui, so I can edit one of the 29 minute clips in less than 10 minutes.

    


    Now I wanted to optimize my workflow by writing a PowerShell script that only takes the parameters what to crop and which files to work on and then does the rest on its own so I can just start the script and then do something else while my laptop renders the new files.

    


    So far I have the following :

    


    $video_path = Get-ChildItem ..\ -Directory | findstr "SoSe"

Get-ChildItem $video_path -name | findstr ".MP4" | Out-File temp.txt -Append 
Get-Content temp.txt | ForEach-Object {"file " + $_} >> .\files.txt

Get-ChildItem $video_path |
Foreach-Object {
other-transcode --hevc --mp4 --target 3000 --crop 1920:780:0:0 $_.FullName
}

#other-transcode --hevc --mp4 --crop 1920:720:60:0 ..\SoSe22_Theo1_videos_v14_RAW\
ffmpeg -f concat -i files.txt -c copy merged.mp4
Remove-Item .\temp.txt


    


    but it does not quite do what I it expect to do.
This is my file system :

    


    sciebo/
└── SoSe22_Theo1_videos/
    ├── SoSe22_Theo1_videos_v16/
    │   ├── SoSe22_Theo1_videos_v16_KOMPR/
    │   │   ├── C0001.mp4
    │   │   ├── C0002.mp4
    │   │   ├── C0003.mp4
    │   │   ├── C0004.mp4
    │   │   ├── temp.txt
    │   │   ├── files.txt
    │   │   └── merged.mp4
    │   └── SoSe22_Theo1_videos_v16_RAW/
    │       ├── C0001.mp4
    │       ├── C0002.mp4
    │       ├── C0003.mp4
    │       └── C0004.mp4
    └── SoSe22_Theo1_videos_v17/
        ├── SoSe22_Theo1_videos_v17_KOMPR
        └── SoSe22_Theo1_videos_v17_RAW/
            ├── C0006.mp4
            ├── C0007.mp4
            ├── C0008.mp4
            └── C0009.mp4


    


    where the 16th lecture is already processed and the 17th is not. I always have the raw video data in the folders ending on RAW and the edited/compressed output files in the one ending on KOMPR. Note that the video files in the KOMPR folder are the output files of the other-transcode tool.

    


    The real work happens in the line where it says

    


    other-transcode --hevc --mp4 --target 3000 --crop 1920:780:0:0 $_.FullName


    


    and in the line

    


    ffmpeg -f concat -i files.txt -c copy merged.mp4


    


    where I concat the output files into the final version I can upload to our online learning platform.
What is wrong with my script ? In the end I'd like to pass the --crop parameter just to my script, but that is not the primary problem.

    



    


    A little information on the transcoding script so you don't have to look into the documentation :
    
As the last argument the tool takes the location of the video files to work on, be it relative or absolute file paths. The output is placed in the folder the script is called in, so if I cd into one of the KOMPR directories and then call

    


    other-transcode --mp4 ../SoSe22_Theo1_videos_v16_RAW/C0001.mp4


    


    a new file C0001.mp4 is created in the KOMPR directory and the transcoded video and old audio are written to that new video file.

    


  • Pims.open Throws "UnkownFormat Error" with "Invalid Argument" On One Machine But Not on Another

    12 août 2021, par KaceBellamy

    I'm trying to do some video processing for a physics experiment, and I want to do it on my much more powerful Windows desktop computer as opposed to my Mac laptop.

    


    The following code works like a dream when run as a Jupyter notebook on my Mac :

    


    import matplotlib as mpl
from mpl_toolkits import mplot3d
import pims
import trackpy as tp 

@pims.pipeline
def gray(image):
    return image[:, :, 1]  # Take just the green channel

frames = gray(pims.open('output.mp4'))


    


    but on my Windows machine I get this error :

    


    ---------------------------------------------------------------------------&#xA;UnknownFormatError                        Traceback (most recent call last)&#xA;~\AppData\Local\Temp/ipykernel_12152/704954007.py in <module>&#xA;      1 #Actually converts the video. Might be VERY processor intensive... or not?&#xA;----> 2 frames = gray(pims.open(&#x27;output.mp4&#x27;)) #Make the File Name whatever file you like!&#xA;&#xA;~\miniconda3\lib\site-packages\pims\api.py in open(sequence, **kwargs)&#xA;    207             warn(message)&#xA;    208             exceptions &#x2B;= message &#x2B; &#x27;\n&#x27;&#xA;--> 209     raise UnknownFormatError("All handlers returned exceptions:\n" &#x2B; exceptions)&#xA;    210 &#xA;    211 &#xA;&#xA;UnknownFormatError: All handlers returned exceptions:&#xA;<class> errored: [Errno 22] Invalid argument: &#x27;output.mp4&#x27;&#xA;<class> errored: [Errno 22] Invalid argument: &#x27;output.mp4&#x27;&#xA;<class> errored: Could not load meta information&#xA;=== stderr ===&#xA;&#xA;ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers&#xA;  built with gcc 9.2.1 (GCC) 20200122&#xA;  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-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-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt&#xA;  libavutil      56. 31.100 / 56. 31.100&#xA;  libavcodec     58. 54.100 / 58. 54.100&#xA;  libavformat    58. 29.100 / 58. 29.100&#xA;  libavdevice    58.  8.100 / 58.  8.100&#xA;  libavfilter     7. 57.100 /  7. 57.100&#xA;  libswscale      5.  5.100 /  5.  5.100&#xA;  libswresample   3.  5.100 /  3.  5.100&#xA;  libpostproc    55.  5.100 / 55.  5.100&#xA;C:\Users\Callum\OneDrive - The University of Chicago\output.mp4: Invalid argument&#xA;<class> errored: MoviePy error: failed to read the duration of file output.mp4.&#xA;Here are the file infos returned by ffmpeg:&#xA;&#xA;ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers&#xA;  built with gcc 9.2.1 (GCC) 20200122&#xA;  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-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-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt&#xA;  libavutil      56. 31.100 / 56. 31.100&#xA;  libavcodec     58. 54.100 / 58. 54.100&#xA;  libavformat    58. 29.100 / 58. 29.100&#xA;  libavdevice    58.  8.100 / 58.  8.100&#xA;  libavfilter     7. 57.100 /  7. 57.100&#xA;  libswscale      5.  5.100 /  5.  5.100&#xA;  libswresample   3.  5.100 /  3.  5.100&#xA;  libpostproc    55.  5.100 / 55.  5.100&#xA;output.mp4: Invalid argument&#xA;</class></class></class></class></module>

    &#xA;

    output.mp4 is just a run of the mill video file taken on a CCD camera ; I've tried converting it to a .MOV, I've tried other video files taken on different cameras, and I've tried running the file through FFmpeg to impose a 30 fps framerate ; everything I've tried works fine on my Mac and throws the above error on my Windows machine.

    &#xA;

    For reference, I installed necessary packages for this code on both machines this morning, so it should all be up to date and the same on both.

    &#xA;

    Any ideas as to what's up ? Thanks !

    &#xA;