Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (45)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To 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 (7375)

  • FFmpeg -> JSMpeg Websocket Closes Repeatedly

    13 mars 2018, par Kyle Martin

    I’m trying to create a fairly simple streaming server/site. Here’s the current flow :

    • OBS streams to an RTMP URL
    • Nginx accepts the RTMP stream and uses exec-push to have FFmpeg pick up the stream and transcode it
    • FFmpeg transcodes the stream and outputs it to a JSMpeg application, which displays the stream on a webpage.

    When I have my exec_push statement as follows, everything seems to work perfectly, except the browser says Possible garbage data. Skipping. on every frame it receives :

    exec_push /usr/bin/ffmpeg -re -i rtmp://127.0.0.1:1935/$app/$name -f mpeg1video  http://localhost:8080/supersecret;

    This behavior is understandable, because JSMpeg must receive MPEG-TS data, not MPEG1 data. It sees the MPEG1 frames and thinks they’re garbage.

    So through some online research, I found this :

    exec_push /usr/bin/ffmpeg -re -i rtmp://127.0.0.1:1935/$app/$name -c:v copy -c:a copy -f mpegts http://localhost:8080/supersecret;

    Supposedly, this is supposed to transcode my RTMP stream into an MPEG-TS format, which should be compatible with JSMpeg.

    However, with the second version of the command, my FFmpeg -> JSMpeg stream keeps connecting and disconnecting, connecting and disconnecting, and so on. This behavior is observed in terminal :

    Stream Connected: ::1:40208
    close
    Stream Connected: ::1:40212
    close
    Stream Connected: ::1:40216
    close
    Stream Connected: ::1:40220
    close
    Stream Connected: ::1:40224
    close
    ...

    What would cause this ? I am pretty certain the issue is in my exec_push command. OBS is perfectly content, which tells me that the stream is making it to the server, and if I do a push, I can do a test push to Ustream just fine, which tells me that Nginx is at least processing the stream with some reasonable degree of success.


    Disclaimer : I have no idea what I’m talking about. Everything I know about FFmpeg and JSMpeg/Node is from snippets of code that I found online.

  • ffmpeg - Writing thumbnail to Azure Blob Storage

    20 juin 2018, par Heinrich

    Is is possible to write directly to Azure using ffmpeg ? I am using ffmpeg to generate thumbnails for videos and I need to save them to an Azure Blob storage using a pre generated SAS url, is this possible ?
    When I run ffmpeg it seems to run happily, without any trace of errors as far as I can tell, but the file is never written\create in the storage. I know the target url works as I can upload a file to exact same url using postman.

    Below is the ffmpeg command that I am trying to get to work :

    .\ffmpeg.exe -i {srcurl} -loglevel 48 -frames:v 1 -y -method PUT -chunked_post 0 -headers "x-ms-blob-type: BlockBlob" -f apng {targeturl}

    I took the urls out as they are to long but the are both in the format as below :

    https://{host}.blob.core.windows.net/{pathtofile}/{filename}?sp=r&st=2018-06-03T23:07:25Z&se=2018-06-04T07:07:25Z&spr=https&sv=2017-11-09&sig={signature}

    Now I know that it works to some degree because if I write the file locally everything is happy. ffmpeg is able to get the video from the source url, read the file and create a thumbnail locally.

    The thing that confuses me more however is that if I specify a rubbish url path, one where I know it shouldn’t have permission to write to, it still does not complain at all.

    It is able to resolve the host name because changing the host to some non-existent one it will cause the "Failed to resolve hostname" error.

  • FFmpeg auto rotate video when copying video stream without re-encoding

    25 février 2019, par Mahfujur Rahman

    I have been trying to convert an mp4 (portrait) file to mkv. As the mkv container support any video and audio stream, I am copying the audio and video stream to the output container. The command I’m using

    ffmpeg -y -i test.mp4 -vcodec copy -acodec copy test.mkv

    File info for test.mp4 is following

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2019-02-23T11:18:50.000000Z
       com.android.version: 8.0.0
     Duration: 00:00:25.86, start: 0.000000, bitrate: 12270 kb/s
       Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 12005 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)
       Metadata:
         rotate          : 90
         creation_time   : 2019-02-23T11:18:50.000000Z
         handler_name    : VideoHandle
       Side data:
         displaymatrix: rotation of -90.00 degrees
       Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
       Metadata:
         creation_time   : 2019-02-23T11:18:50.000000Z
         handler_name    : SoundHandle

    Now, the problem is that the output video I get from ffmpeg is a 90 degree counter clockwise rotated video. The reason I believe is the following info being removed from output file,

    Side data:
    displaymatrix: rotation of -90.00 degrees

    File info for rotated output file test.mkv

    Input #0, matroska,webm, from 'test.mkv':
     Metadata:
       MAJOR_BRAND     : mp42
       MINOR_VERSION   : 0
       COMPATIBLE_BRANDS: isommp42
       COM.ANDROID.VERSION: 8.0.0
       ENCODER         : Lavf58.12.100
     Duration: 00:00:25.87, start: 0.000000, bitrate: 12265 kb/s
       Stream #0:0(eng): Video: h264, yuv420p(tv, bt709, progressive), 1280x720, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 2k tbc (default)
       Metadata:
         ROTATE          : 90
         HANDLER_NAME    : VideoHandle
         DURATION        : 00:00:25.866000000
       Stream #0:1(eng): Audio: aac, 48000 Hz, stereo, fltp (default)
       Metadata:
         HANDLER_NAME    : SoundHandle
         DURATION        : 00:00:25.813000000

    But when I convert this rotated output test.mkv to mp4 again, I get the portrait file. The displaymatrix side data appears again in the file info.

    Converting the same mp4 file to m4v by copying the steam works fine.

    So, this whole thing is very much confusing to me.

    Now my question is, how can I convert the mp4 file to mkv without re-encoding and avoid getting rotated output ?

    In this post they solved it for c++. I am working on android and using ffmpeg android wrapper to use the ffmpeg library. Is there any ffmpeg flag to handle this situation ?