Recherche avancée

Médias (0)

Mot : - Tags -/metadatas

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (49)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

Sur d’autres sites (5522)

  • How to stop os.system() in Python ?

    30 septembre 2015, par 吴雨羲

    I want to stop the cmd command after 12 seconds. How to stop it ? My program doesn’t work.

    import multiprocessing
    import os
    import time


    def process():
       os.system('ffmpeg -i rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp -c copy dump.mp4')


    def stop():
       time.sleep(12)


    if __name__ == '__main__':
       p = multiprocessing.Process(target=process, args=())
       s = multiprocessing.Process(target=stop, args=())
       p.start()
       s.start()
       s.join()
       p.terminate()

    I change my program follow Pedro’s suggusetion @Pedro Lobito ,but it still doesn`t work.

    import shlex

    import subprocess
    import time

    command_line = 'ffmpeg -i rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp -c copy dump.mp4'

    proc = subprocess.Popen(shlex.split(command_line), shell=True)
    print '1' * 50
    time.sleep(2)  # <-- sleep for 12''
    print '2' * 50
    proc.terminate()  # <-- terminate the process
    print '3' * 50

    And the result in CMD is

    D:\wyx\workspace\python\ffrstp>python test1.py
    11111111111111111111111111111111111111111111111111
    ffmpeg version N-75563-g235381e Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 4.9.3 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
    isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
    le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
    enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
    ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
    le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
    able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
    ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
    --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
    e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
    ble-decklink --enable-zlib
     libavutil      55.  2.100 / 55.  2.100
     libavcodec     57.  3.100 / 57.  3.100
     libavformat    57.  2.100 / 57.  2.100
     libavdevice    57.  0.100 / 57.  0.100
     libavfilter     6.  8.100 /  6.  8.100
     libswscale      4.  0.100 /  4.  0.100
     libswresample   2.  0.100 /  2.  0.100
     libpostproc    54.  0.100 / 54.  0.100
    Input #0, rtsp, from 'rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwc
    fbqjoo80j.sdp':
     Metadata:
       title           : RTSP Session
       comment         : Jabsco Stream(JCO-jy9757acx1eve7nm-a104aea23c1e17bbc776656
    f5069bbf7)
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p, 352x288 [SAR 1:1 DAR 11
    :9], 10k tbr, 90k tbn, 10k tbc
    [mp4 @ 00bad520] Codec for stream 0 does not use global headers but container fo
    rmat requires global headers
    Output #0, mp4, to 'dump.mp4':
     Metadata:
       title           : RTSP Session
       comment         : Jabsco Stream(JCO-jy9757acx1eve7nm-a104aea23c1e17bbc776656
    f5069bbf7)
       encoder         : Lavf57.2.100
       Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 352x288 [SAR 1:1 D
    AR 11:9], q=2-31, 10k tbr, 90k tbn, 90k tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    [mp4 @ 00bad520] pts has no value
    [mp4 @ 00bad520] Non-monotonous DTS in output stream 0:0; previous: 0, current:
    0; changing to 1. This may result in incorrect timestamps in the output file.
    [mp4 @ 00bad520] Non-monotonous DTS in output stream 0:0; previous: 1, current:
    0; changing to 2. This may result in incorrect timestamps in the output file.
    frame=   30 fps=0.0 q=-1.0 size=      63kB time=00:00:02.33 bitrate= 220.4kbits/
    frame=   36 fps= 31 q=-1.0 size=      68kB time=00:00:02.95 bitrate= 187.9kbits/
    frame=   42 fps= 24 q=-1.0 size=      73kB time=00:00:03.52 bitrate= 169.6kbits/
    frame=   47 fps= 20 q=-1.0 size=      90kB time=00:00:04.10 bitrate= 178.9kbits/
    frame=   53 fps= 19 q=-1.0 size=      95kB time=00:00:04.63 bitrate= 167.2kbits/
    22222222222222222222222222222222222222222222222222
    33333333333333333333333333333333333333333333333333

    D:\wyx\workspace\python\ffrstp>frame=   58 fps= 17 q=-1.0 size=      99kB time=0
    frame=   64 fps= 16 q=-1.0 size=     104kB time=00:00:05.72 bitrate= 149.0kbits/
    frame=   70 fps= 15 q=-1.0 size=     122kB time=00:00:06.36 bitrate= 156.7kbits/
    frame=   76 fps= 15 q=-1.0 size=     127kB time=00:00:06.92 bitrate= 150.2kbits/
    frame=   82 fps= 14 q=-1.0 size=     132kB time=00:00:07.55 bitrate= 143.2kbits/
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 7 packets
    frame=   86 fps= 13 q=-1.0 size=     135kB time=00:00:07.95 bitrate= 139.5kbits/
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 3 packets

    Maybe ffmpeg can reconnection. Can I stop it like ’Ctrl + C’ ?
    When I press ’Ctrl+C’,the result is

    22222222222222222222222222222222222222222222222222
    33333333333333333333333333333333333333333333333333

    D:\wyx\workspace\python\ffrstp>frame=   58 fps= 17 q=-1.0 size=      99kB time=0
    frame=   64 fps= 16 q=-1.0 size=     104kB time=00:00:05.72 bitrate= 149.0kbits/
    frame=   70 fps= 15 q=-1.0 size=     122kB time=00:00:06.36 bitrate= 156.7kbits/
    frame=   76 fps= 15 q=-1.0 size=     127kB time=00:00:06.92 bitrate= 150.2kbits/
    frame=   82 fps= 14 q=-1.0 size=     132kB time=00:00:07.55 bitrate= 143.2kbits/
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 7 packets
    frame=   86 fps= 13 q=-1.0 size=     135kB time=00:00:07.95 bitrate= 139.5kbits/
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 3 packets
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 1 packets
    frame=   89 fps= 13 q=-1.0 size=     138kB time=00:00:08.35 bitrate= 135.3kbits/
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 1 packets
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 3 packets
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 5 packets
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 3 packets
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 1 packets
    frame=   92 fps= 12 q=-1.0 size=     144kB time=00:00:09.15 bitrate= 128.7kbits/
    frame=   93 fps= 11 q=-1.0 size=     145kB time=00:00:09.58 bitrate= 123.8kbits/
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 1 packets
    [rtsp @ 00adb3e0] max delay reached. need to consume packet
    [NULL @ 00add8c0] RTP: missed 2 packets


    D:\wyx\workspace\python\ffrstp>[rtsp @ 00adb3e0] max delay reached. need to cons
    ume packet
    [NULL @ 00add8c0] RTP: missed 12 packets
    frame=   96 fps= 11 q=-1.0 size=     148kB time=00:00:10.43 bitrate= 116.2kbits/
    frame=   96 fps=9.2 q=-1.0 Lsize=     151kB time=00:00:10.43 bitrate= 118.3kbits
    /s
    video:148kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing o
    verhead: 1.913398%
    Exiting normally, received signal 2.
  • fftools/ffmpeg_dec : stop accesing InputStream.fix_sub_duration

    17 janvier 2024, par Anton Khirnov
    fftools/ffmpeg_dec : stop accesing InputStream.fix_sub_duration
    

    Pass this information to dec_open() instead.

    This is a step towards decoupling Decoder and InputStream.

    • [DH] fftools/ffmpeg.h
    • [DH] fftools/ffmpeg_dec.c
    • [DH] fftools/ffmpeg_demux.c
  • How to make QProcess stop by button or keyboard in GUI ?

    31 août 2015, par xiaowei

    Here I want to make a recorder by ffmpeg.exe.

    And, I found the commend line, succeed running and generate the video file. And I know press "Esc" or "q" on keyboard can terminal

    Now, I want to use GUI to control the recoder(ffmpeg.exe). I select Qt here, and my work environment is windows 7 sp1.

    I use QProcess to execute it, you will see following.

    But I have no idea for terminal the process.

    The code list :
    main.cpp is simple.

    #include "mainwindow.h"
    #include <qapplication>

    int main(int argc, char *argv[])
    {
       QApplication a(argc, argv);
       MainWindow w;
       w.show();

       return a.exec();
    }
    </qapplication>

    mainwindow.h

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H

    #include <qmainwindow>
    #include <qprocess>

    namespace Ui {
    class MainWindow;
    }

    class MainWindow : public QMainWindow
    {
       Q_OBJECT

    public:
       explicit MainWindow(QWidget *parent = 0);
       ~MainWindow();

    private:
       QProcess *pro;
       QString recorder;
       QString outputName;
       QString options;

    private slots:
       void startRecode();
       void stopRecode();
    };

    #endif // MAINWINDOW_H
    </qprocess></qmainwindow>

    mainwindow.cpp

    #include "mainwindow.h"

    #include <qprocess>
    #include <qtest>
    #include <qpushbutton>
    #include <qvboxlayout>

    MainWindow::MainWindow(QWidget *parent) :
       QMainWindow(parent),
       pro(new QProcess)
    {
       QDateTime current_date_time = QDateTime::currentDateTime();
       QString current_date = current_date_time.toString("yyyy-MM-dd-hh_mm_ss");

       recorder = "E:\\bin\\ffmpeg.exe";
       outputName = current_date + ".mp4";
       options = "-f gdigrab -framerate 6 -i desktop -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -hide_banner -report";
       //-t 00:00:05"; this option can limit the process running time, and work well no GUI, but I don't want to use given time to stop recording.

       QWidget *centerWindow = new QWidget;
       setCentralWidget(centerWindow);

       QVBoxLayout *mainLayout = new QVBoxLayout;
       QPushButton *startButton = new QPushButton("start recording");
       QPushButton *stopButton = new QPushButton("stop recording");
       mainLayout->addWidget(startButton);
       mainLayout->addWidget(stopButton);

       centerWindow->setLayout(mainLayout);

       connect(startButton, SIGNAL(clicked()), this, SLOT(startRecode()));
       connect(stopButton, SIGNAL(clicked()), this, SLOT(stopRecode()));
    }

    MainWindow::~MainWindow()
    {
       delete pro;
    }

    void MainWindow::startRecode()
    {
       pro->execute(QString(recorder + " " +options +" " + outputName));
    }

    void MainWindow::stopRecode(){
       pro->terminate(); // not work
       //pro->close(); // not work, too
       //pro->kill(); // not work, T_T

       //how to terminate the process by pushbutton??
    }
    </qvboxlayout></qpushbutton></qtest></qprocess>

    There have some ideas for me ?

    or, have other solutions for my recorder ?