
Recherche avancée
Autres articles (49)
-
List of compatible distributions
26 avril 2011, parThe 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, parMediaSPIP 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, parPar 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' * 50And 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 packetsMaybe ffmpeg can reconnection. Can I stop it like ’Ctrl + C’ ?
When I press ’Ctrl+C’,the result is22222222222222222222222222222222222222222222222222
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 -
How to make QProcess stop by button or keyboard in GUI ?
31 août 2015, par xiaoweiHere 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 ?