Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (60)

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

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

Sur d’autres sites (10370)

  • In ffmpeg, how do I scale dvdsub subtitles to match video size, using scale2ref filter ?

    31 décembre 2017, par Steve Moseley

    I have an mpeg file, recorded from live TV, containing video and multiple audio and subtitles streams. My eventual goal is to be able to create a smaller video file as the mpeg file is multi-gigabytes in size. My first step on that path is just to be able to select one each of the video, audio and subtitle streams and copy them to an mkv file, discarding the streams I’m not interested in. (I chose mkv as it will allow storing a dvdsub subtitle stream where other container formats wont.)

    The problem I’m having is that the dvdsub subtitles appear very small when I play the output video, when I researched this I found that ffmpeg doesn’t automatically scale the subtitles to match the source video : https://trac.ffmpeg.org/ticket/4744

    I have tried using the scale2ref filter, but I don’t understand the documentation, and the example they give makes no sense to me (see examples below).

    I have a command that selects the three streams and copies 1 minute to the output, as follows :

    ffmpeg -ss 00:28:00.200 -i Hillary-2016-08-21.mpg -t 00:01:00.000 -map 0:0 -c:v copy -map 0:3 -c:a copy -map 0:6 -c:s dvdsub cut.mkv

    Here’s the output :

    Input #0, mpegts, from 'Hillary-2016-08-21.mpg':
     Duration: 01:30:00.06, start: 20852.199389, bitrate: 6813 kb/s
     Program 1
       Stream #0:0[0xfa]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
       Stream #0:1[0x12c](eng): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
       Stream #0:2[0x131](ita): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp (visual impaired)
       Stream #0:3[0x191](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s
       Stream #0:4[0x3ea]: Unknown: none ([11][0][0][0] / 0x000B)
       Stream #0:5[0x3ec]: Unknown: none ([11][0][0][0] / 0x000B)
       Stream #0:6[0x3fc](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
       Stream #0:7[0x1f40]: Unknown: none ([5][0][0][0] / 0x0005)
    File 'cut.mkv' already exists. Overwrite ? [y/N] y
    Output #0, matroska, to 'cut.mkv':
     Metadata:
       encoder         : Lavf57.56.100
       Stream #0:0: Video: h264 (Main) (H264 / 0x34363248), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 50 tbr, 1k tbn, 90k tbc
       Stream #0:1(eng): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), 384 kb/s
       Stream #0:2(eng): Subtitle: dvd_subtitle (dvdsub) (hearing impaired)
       Metadata:
         encoder         : Lavc57.64.101 dvdsub
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #0:3 -> #0:1 (copy)
     Stream #0:6 -> #0:2 (dvb_subtitle (dvbsub) -> dvd_subtitle (dvdsub))
    Press [q] to stop, [?] for help
    frame= 2956 fps=0.0 q=-1.0 Lsize=   39612kB time=00:00:59.99 bitrate=5408.7kbits/s speed= 216x    
    video:36702kB audio:2896kB subtitle:23kB other streams:0kB global headers:0kB muxing overhead: unknown

    The documentation for scale2ref gives an example with an overlay, and I don’t want to overlay anything, I just want to resize the subtitles stream. Here’s their example :

    'scale2ref[b][a];[a][b]overlay'

    The closest I’ve got is something like this :

    ffmpeg -ss 00:28:00.200 -i Hillary-2016-08-21.mpg -t 00:01:00.000 -map 0:0 -c:v copy -map 0:3 -c:a copy -filter_complex "[0:6]scale2ref[b]" -map "[b]"   cut.mkv

    And the output is :

    Input #0, mpegts, from 'Hillary-2016-08-21.mpg':
     Duration: 01:30:00.06, start: 20852.199389, bitrate: 6813 kb/s
     Program 1
       Stream #0:0[0xfa]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
       Stream #0:1[0x12c](eng): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
       Stream #0:2[0x131](ita): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp (visual impaired)
       Stream #0:3[0x191](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s
       Stream #0:4[0x3ea]: Unknown: none ([11][0][0][0] / 0x000B)
       Stream #0:5[0x3ec]: Unknown: none ([11][0][0][0] / 0x000B)
       Stream #0:6[0x3fc](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
       Stream #0:7[0x1f40]: Unknown: none ([5][0][0][0] / 0x0005)
    Streamcopy requested for output stream 0:0, which is fed from a complex filtergraph. Filtering and streamcopy cannot be used together.

    And I don’t really understand how I can use a filter and direct my resized subtitle stream into the output file.

    Any help appreciated ! Thanks !

  • In ffmpeg, how do I scale dvdsub subtitles to match video size, using scale2ref filter ?

    24 janvier 2017, par Steve Moseley

    I have an mpeg file, recorded from live TV, containing video and multiple audio and subtitles streams. My eventual goal is to be able to create a smaller video file as the mpeg file is multi-gigabytes in size. My first step on that path is just to be able to select one each of the video, audio and subtitle streams and copy them to an mkv file, discarding the streams I’m not interested in. (I chose mkv as it will allow storing a dvdsub subtitle stream where other container formats wont.)

    The problem I’m having is that the dvdsub subtitles appear very small when I play the output video, when I researched this I found that ffmpeg doesn’t automatically scale the subtitles to match the source video : https://trac.ffmpeg.org/ticket/4744

    I have tried using the scale2ref filter, but I don’t understand the documentation, and the example they give makes no sense to me (see examples below).

    I have a command that selects the three streams and copies 1 minute to the output, as follows :

    ffmpeg -ss 00:28:00.200 -i Hillary-2016-08-21.mpg -t 00:01:00.000 -map 0:0 -c:v copy -map 0:3 -c:a copy -map 0:6 -c:s dvdsub cut.mkv

    Here’s the output :

    Input #0, mpegts, from 'Hillary-2016-08-21.mpg':
     Duration: 01:30:00.06, start: 20852.199389, bitrate: 6813 kb/s
     Program 1
       Stream #0:0[0xfa]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
       Stream #0:1[0x12c](eng): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
       Stream #0:2[0x131](ita): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp (visual impaired)
       Stream #0:3[0x191](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s
       Stream #0:4[0x3ea]: Unknown: none ([11][0][0][0] / 0x000B)
       Stream #0:5[0x3ec]: Unknown: none ([11][0][0][0] / 0x000B)
       Stream #0:6[0x3fc](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
       Stream #0:7[0x1f40]: Unknown: none ([5][0][0][0] / 0x0005)
    File 'cut.mkv' already exists. Overwrite ? [y/N] y
    Output #0, matroska, to 'cut.mkv':
     Metadata:
       encoder         : Lavf57.56.100
       Stream #0:0: Video: h264 (Main) (H264 / 0x34363248), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 50 tbr, 1k tbn, 90k tbc
       Stream #0:1(eng): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), 384 kb/s
       Stream #0:2(eng): Subtitle: dvd_subtitle (dvdsub) (hearing impaired)
       Metadata:
         encoder         : Lavc57.64.101 dvdsub
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #0:3 -> #0:1 (copy)
     Stream #0:6 -> #0:2 (dvb_subtitle (dvbsub) -> dvd_subtitle (dvdsub))
    Press [q] to stop, [?] for help
    frame= 2956 fps=0.0 q=-1.0 Lsize=   39612kB time=00:00:59.99 bitrate=5408.7kbits/s speed= 216x    
    video:36702kB audio:2896kB subtitle:23kB other streams:0kB global headers:0kB muxing overhead: unknown

    The documentation for scale2ref gives an example with an overlay, and I don’t want to overlay anything, I just want to resize the subtitles stream. Here’s their example :

    'scale2ref[b][a];[a][b]overlay'

    The closest I’ve got is something like this :

    ffmpeg -ss 00:28:00.200 -i Hillary-2016-08-21.mpg -t 00:01:00.000 -map 0:0 -c:v copy -map 0:3 -c:a copy -filter_complex "[0:6]scale2ref[b]" -map "[b]"   cut.mkv

    And the output is :

    Input #0, mpegts, from 'Hillary-2016-08-21.mpg':
     Duration: 01:30:00.06, start: 20852.199389, bitrate: 6813 kb/s
     Program 1
       Stream #0:0[0xfa]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
       Stream #0:1[0x12c](eng): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
       Stream #0:2[0x131](ita): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp (visual impaired)
       Stream #0:3[0x191](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s
       Stream #0:4[0x3ea]: Unknown: none ([11][0][0][0] / 0x000B)
       Stream #0:5[0x3ec]: Unknown: none ([11][0][0][0] / 0x000B)
       Stream #0:6[0x3fc](eng): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
       Stream #0:7[0x1f40]: Unknown: none ([5][0][0][0] / 0x0005)
    Streamcopy requested for output stream 0:0, which is fed from a complex filtergraph. Filtering and streamcopy cannot be used together.

    And I don’t really understand how I can use a filter and direct my resized subtitle stream into the output file.

    Any help appreciated ! Thanks !

  • Pointers returned by xlib don't match any existing window IDs

    1er septembre 2022, par Kroltan

    I'm using some X11 bindings to query some window information and later pass it to FFmpeg. FFmpeg expects a "window ID" given in hexadecimal notation.

    


    This notation seems somewhat standard, as it is returned by programs like xwininfo or wmctrl. I haven't found much information about it, but it seems to just be the hexadecimal representation of the window pointer ? If I take the ID string given by these programs and give it to FFmpeg, it is able to capture the window correctly :

    


    $ xwininfo

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x2800014 "Desktop — Plasma"

$ ffmpeg -f x11grab -window_id 0x2800014 -i :0+0,0 -f apng -vframes 1 out.png
# works fine


    


    However, if I try listing all the windows in code :

    


    var root = Window.None;
var parent = Window.None;
Xlib.XQueryTree(_display, Xlib.XDefaultRootWindow(_display), ref root, ref parent, out var children);

var ids = children
    .Select(ptr => $"0x{(ulong) ptr:x}")
    .ToArray();


    


    I don't see 0x2800014 in the results (even disregardingleading zeroes), and if I try running FFmpeg on one of those results, it fails terribly :

    


    $ ffmpeg -f x11grab -window_id 0x4400003 -i :0+0,0 -f apng -vframes 1

# snipped for brevity

Trailing option(s) found in the command: may be ignored.
[x11grab @ 0x55b811a8da40] Cannot get the image data event_error: response_type:0 error_code:8 sequence:10 resource_id:167772160 minor_code:4 major_code:130.
[x11grab @ 0x55b811a8da40] Continuing without shared memory.
[x11grab @ 0x55b811a8da40] Cannot get the image data event_error: response_type:0 error_code:8 sequence:11 resource_id:71303171 minor_code:0 major_code:73.
Input #0, x11grab, from ':0+0,0':
  Duration: N/A, bitrate: 38361 kb/s
  Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 200x200, 38361 kb/s, 29.97 fps, 1000k tbr, 1000k tbn
At least one output file must be specified


    


    So I must conclude my guess that they are hex pointers is incorrect, or that the Window type is not the pointer itself, but then the question stands, how can I get the actual window IDs so I can pass them to FFmpeg ?