Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (44)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Les statuts des instances de mutualisation

    13 mars 2010, par

    Pour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
    Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...)

Sur d’autres sites (8684)

  • How do I playout rtmp stream to SDI (Decklink Studio 4K) using FFMPEG command ?

    30 août 2019, par Rahul Sinha

    ffmpeg -i rtmp ://ip/live/livestream -f decklink -pix_fmt uyvy422 -s 720x486 -r 24000/1001 ’DeckLink Studio 4K’

    Want to get output on decklink card.
    Getting error :

    ffmpeg version 4.0.2 Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 7.3.1 (GCC) 20180722
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --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
     libavutil      56. 14.100 / 56. 14.100
     libavcodec     58. 18.100 / 58. 18.100
     libavformat    58. 12.100 / 58. 12.100
     libavdevice    58.  3.100 / 58.  3.100
     libavfilter     7. 16.100 /  7. 16.100
     libswscale      5.  1.100 /  5.  1.100
     libswresample   3.  1.100 /  3.  1.100
     libpostproc    55.  1.100 / 55.  1.100
    [flv @ 000002a2d130a7c0] Negative cts, previous timestamps might be wrong.
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-1101, dts=0, size=4425
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-1118, dts=0, size=985
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-1118, dts=0, size=768
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-1068, dts=0, size=118
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-968, dts=0, size=3272
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-985, dts=0, size=883
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-984, dts=0, size=521
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-935, dts=0, size=448
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-885, dts=0, size=3629
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-851, dts=0, size=345
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-768, dts=0, size=3354
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-785, dts=0, size=835
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-784, dts=0, size=402
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-735, dts=0, size=418
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-685, dts=0, size=3086
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-651, dts=0, size=225
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-568, dts=0, size=2940
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-585, dts=0, size=733
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-584, dts=0, size=406
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-535, dts=0, size=410
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-485, dts=0, size=3396
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-451, dts=0, size=346
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-368, dts=0, size=3176
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-385, dts=0, size=911
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-384, dts=0, size=456
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-335, dts=0, size=437
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-285, dts=0, size=3420
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-251, dts=0, size=606
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-185, dts=0, size=4562
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-185, dts=0, size=803
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-184, dts=0, size=665
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-85, dts=0, size=4623
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-85, dts=0, size=101
    [flv @ 000002a2d130a7c0] Invalid timestamps stream=0, pts=-84, dts=0, size=807
    Input #0, flv, from 'rtmp://ip/live/livestream':
     Metadata:
       videokeyframe_frequency: 480
       audiochannels   : 2
     Duration: N/A, start: 0.000000, bitrate: 1667 kb/s
       Stream #0:0: Video: h264 (Main), yuv420p(progressive), 854x480 [SAR 1:1 DAR 427:240], 1536 kb/s, 60 fps, 30 tbr, 1k tbn, 12k tbc
       Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 131 kb/s
    [NULL @ 000002a2d1335b00] Requested output format 'decklink' is not a suitable output format
    DeckLink: Invalid argument

    i’m getting error decklink invalid argument. thanks in advance.

  • Recover corrupt MTS file via ffmpeg

    24 juin 2017, par Ashley

    I have many large video files from an overseas trip. 90% of them are great, but there are a few I recorded on a dodgy SD card which are unable to play for some reason. They are all .MTS files.

    In VLC, an error appears when trying to play them :

    Unidentified codec:
    VLC could not identify the audio or video codec

    I don’t know much about video files or codecs, but I am savvy enough to use ffmpeg, which I thought might be my best bet.

    I attempted this on one of the files (call it ’input.MTS’) :

    ffmpeg -i input.MTS output.mp4

    The result was this :

    ffmpeg version N-82597-gd316b21 Copyright (c) 2000-2016 the FFmpeg developers
     built with gcc 5.4.0 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
     libavutil      55. 40.100 / 55. 40.100
     libavcodec     57. 66.106 / 57. 66.106
     libavformat    57. 58.100 / 57. 58.100
     libavdevice    57.  2.100 / 57.  2.100
     libavfilter     6. 67.100 /  6. 67.100
     libswscale      4.  3.101 /  4.  3.101
     libswresample   2.  4.100 /  2.  4.100
     libpostproc    54.  2.100 / 54.  2.100
    [adp @ 0000000000026380] Format adp detected only with low score of 25, misdetection possible!
    Input #0, adp, from 'input.MTS':
     Duration: 00:05:38.69, start: 0.000000, bitrate: 438 kb/s
       Stream #0:0: Audio: adpcm_dtk, 48000 Hz, stereo, s16p
    Output #0, mp4, to 'output.mp4':
     Metadata:
       encoder         : Lavf57.58.100
       Stream #0:0: Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s
       Metadata:
         encoder         : Lavc57.66.106 aac
    Stream mapping:
     Stream #0:0 -> #0:0 (adpcm_dtk (native) -> aac (native))
    Press [q] to stop, [?] for help
    size=     312kB time=00:05:38.68 bitrate=   7.6kbits/s speed=33.7x
    video:0kB audio:250kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 25.134468%
    [aac @ 00000000025c5ba0] Qavg: 65531.879

    The output.mp4 file now plays in VLC without error, and is 5 minutes and 38 seconds long. However, there is no audio or video.

    Also, input.MTS is 18 MB, and output.mp4 is 0.313 MB.

    What is the correct way to recover this video ?

  • Overthinking My Search Engine Problem

    31 décembre 2013, par Multimedia Mike — General

    I wrote a search engine for my Game Music Appreciation website, because the site would have been significantly less valuable without it (and I would eventually realize that the search feature is probably the most valuable part of this endeavor). I came up with a search solution that was a bit sketchy, but worked… until it didn’t. I thought of a fix but still searched for more robust and modern solutions (where ‘modern’ is defined as something that doesn’t require compiling a C program into a static CGI script and hoping that it works on a server I can’t debug on).

    Finally, I realized that I was overthinking the problem– did you know that a bunch of relational database management systems (RDBMSs) support full text search (FTS) ? Okay, maybe you did, but I didn’t know this.

    Problem Statement
    My goal is to enable users to search the metadata (title, composer, copyright, other tags) attached to various games. To do this, I want to index a series of contrived documents that describe the metadata. 2 examples of these contrived documents, interesting because both of these games have very different titles depending on region, something the search engine needs to account for :

    system : Nintendo NES
    game : Snoopy’s Silly Sports Spectacular
    author : None ; copyright : 1988 Kemco ; dumped by : None
    additional tags : Donald Duck.nsf Donald Duck
    

    system : Super Nintendo
    game : Arcana
    author : Jun Ishikawa, Hirokazu Ando ; copyright : 1992 HAL Laboratory ; dumped by : Datschge
    additional tags : card.rsn.gamemusic Card Master Cardmaster

    The index needs to map these documents to various pieces of game music and the search solution needs to efficiently search these documents and find the various game music entries that match a user’s request.

    Now that I’ve been looking at it for long enough, I’m able to express the problem surprisingly succinctly. If I had understood that much originally, this probably would have been simpler.

    First Solution & Breakage
    My original solution was based on SWISH-E. The CGI script was a C program that statically linked the SWISH-E library into a binary that miraculously ran on my web provider. At least, it ran until it decided to stop working a month ago when I added a new feature unrelated to search. It was a very bizarre problem, the details of which would probably bore you to tears. But if you care, the details are all there in the Stack Overflow question I asked on the matter.

    While no one could think of a direct answer to the problem, I eventually thought of a roundabout fix. The problem seemed to pertain to the static linking. Since I couldn’t count on the relevant SWISH-E library to be on my host’s system, I uploaded the shared library to the same directory as the CGI script and used dlopen()/dlsym() to fetch the functions I needed. It worked again, but I didn’t know for how long.

    Searching For A Hosted Solution
    I know that anything is possible in this day and age ; while my web host is fairly limited, there are lots of solutions for things like this and you can deploy any technology you want, and for reasonable prices. I figured that there must be a hosted solution out there.

    I have long wanted a compelling reason to really dive into Amazon Web Services (AWS) and this sounded like a good opportunity. After all, my script works well enough ; if I could just find a simple Linux box out there where I could install the SWISH-E library and compile the CGI script, I should be good to go. AWS has a free tier and I started investigating this approach. But it seems like a rabbit hole with a lot of moving pieces necessary for such a simple task.

    I had heard that AWS had something in this area. Sure enough, it’s called CloudSearch. However, I’m somewhat discouraged by the fact that it would cost me around $75 per month to run the smallest type of search instance which is at the core of the service.

    Finally, I came to another platform called Heroku. It’s supposed to be super-scalable while having a free tier for hobbyists. I started investigating FTS on Heroku and found this article which recommends using the FTS capabilities of their standard hosted PostgreSQL solution. However, the free tier of Postgres hosting only allows for 10,000 rows of data. Right now, my database has about 5400 rows. I expect it to easily overflow the 10,000 limit as soon as I incorporate the C64 SID music corpus.

    However, this Postgres approach planted a seed.

    RDBMS Revelation
    I have 2 RDBMSs available on my hosting plan– MySQL and SQLite (the former is a separate service while SQLite is built into PHP). I quickly learned that both have FTS capabilities. Since I like using SQLite so much, I elected to leverage its FTS functionality. And it’s just this simple :

    CREATE VIRTUAL TABLE gamemusic_metadata_fts USING fts3
    ( content TEXT, game_id INT, title TEXT ) ;
    

    SELECT id, title FROM gamemusic_metadata_fts WHERE content MATCH "arcana" ;
    479|Arcana

    The ‘content’ column gets the metadata pseudo-documents. The SQL gets wrapped up in a little PHP so that it queries this small database and turns the result into JSON. The script is then ready as a drop-in replacement for the previous script.