
Recherche avancée
Médias (91)
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Lights in the Sky
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Head Down
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Echoplex
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Discipline
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Letting You
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (30)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)
Sur d’autres sites (6561)
-
PyQt6 6.7.0 - How to fix error : No QtMultimedia backends found
4 février, par Belleroph0NProblem on Windows 10 and Windows 11 using Anaconda.


Here is the full error message for PyQt6=6.7.0 :


No QtMultimedia backends found. Only QMediaDevices, QAudioDevice, QSoundEffect, QAudioSink, and QAudioSource are available.
Failed to initialize QMediaPlayer "Not available"
Failed to create QVideoSink "Not available"



Installed PyQt6 using a requirements file :


PyQt6
PyQt6-WebEngine
requests
pyserial
pynput



Here are a couple things I tried :


- 

- Reroll version back to PyQt6=6.6.1. This results in an error as well : ImportError : DLL load failed while importing QtGui : The specified procedure could not be found.
- I thought that missing ffmpeg might be the issue so I installed it, but the issue persists.
- Tried the setup on Ubuntu (WSL2) and the issue disappears, but there is just a black screen and nothing gets displayed in the widget. (EDIT : Got this up and running, the problem was with differences in file paths in linux vs windows.)








I am new to PyQt so any pointers will be helpful !


Edit : Here is generic code (taken from here) that gives the same error :


from PyQt6.QtGui import QIcon, QFont
from PyQt6.QtCore import QDir, Qt, QUrl, QSize
from PyQt6.QtMultimedia import QMediaPlayer
from PyQt6.QtMultimediaWidgets import QVideoWidget
from PyQt6.QtWidgets import (QApplication, QFileDialog, QHBoxLayout, QLabel, QStyleFactory,
 QPushButton, QSizePolicy, QSlider, QStyle, QVBoxLayout, QWidget, QStatusBar)


class VideoPlayer(QWidget):

 def __init__(self, parent=None):
 super(VideoPlayer, self).__init__(parent)

 self.mediaPlayer = QMediaPlayer()

 btnSize = QSize(16, 16)
 videoWidget = QVideoWidget()

 openButton = QPushButton("Open Video") 
 openButton.setToolTip("Open Video File")
 openButton.setStatusTip("Open Video File")
 openButton.setFixedHeight(24)
 openButton.setIconSize(btnSize)
 openButton.setFont(QFont("Noto Sans", 8))
 openButton.setIcon(QIcon.fromTheme("document-open", QIcon("D:/_Qt/img/open.png")))
 openButton.clicked.connect(self.abrir)

 self.playButton = QPushButton()
 self.playButton.setEnabled(False)
 self.playButton.setFixedHeight(24)
 self.playButton.setIconSize(btnSize)
 self.playButton.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_MediaPlay))
 self.playButton.clicked.connect(self.play)

 self.positionSlider = QSlider(Qt.Orientation.Horizontal)
 self.positionSlider.setRange(0, 0)
 self.positionSlider.sliderMoved.connect(self.setPosition)

 self.statusBar = QStatusBar()
 self.statusBar.setFont(QFont("Noto Sans", 7))
 self.statusBar.setFixedHeight(14)

 controlLayout = QHBoxLayout()
 controlLayout.setContentsMargins(0, 0, 0, 0)
 controlLayout.addWidget(openButton)
 controlLayout.addWidget(self.playButton)
 controlLayout.addWidget(self.positionSlider)

 layout = QVBoxLayout()
 layout.addWidget(videoWidget)
 layout.addLayout(controlLayout)
 layout.addWidget(self.statusBar)

 self.setLayout(layout)

 #help(self.mediaPlayer)
 self.mediaPlayer.setVideoOutput(videoWidget)
 self.mediaPlayer.playbackStateChanged.connect(self.mediaStateChanged)
 self.mediaPlayer.positionChanged.connect(self.positionChanged)
 self.mediaPlayer.durationChanged.connect(self.durationChanged)
 self.mediaPlayer.errorChanged.connect(self.handleError)
 self.statusBar.showMessage("Ready")

 def abrir(self):
 fileName, _ = QFileDialog.getOpenFileName(self, "Select Media",
 ".", "Video Files (*.mp4 *.flv *.ts *.mts *.avi)")

 if fileName != '':
 self.mediaPlayer.setSource(QUrl.fromLocalFile(fileName))
 self.playButton.setEnabled(True)
 self.statusBar.showMessage(fileName)
 self.play()

 def play(self):
 if self.mediaPlayer.playbackState() == QMediaPlayer.PlaybackState.PlayingState:
 self.mediaPlayer.pause()
 else:
 self.mediaPlayer.play()

 def mediaStateChanged(self, state):
 if self.mediaPlayer.playbackState() == QMediaPlayer.PlaybackState.PlayingState:
 self.playButton.setIcon(
 self.style().standardIcon(QStyle.StandardPixmap.SP_MediaPause))
 else:
 self.playButton.setIcon(
 self.style().standardIcon(QStyle.StandardPixmap.SP_MediaPlay))

 def positionChanged(self, position):
 self.positionSlider.setValue(position)

 def durationChanged(self, duration):
 self.positionSlider.setRange(0, duration)

 def setPosition(self, position):
 self.mediaPlayer.setPosition(position)

 def handleError(self):
 self.playButton.setEnabled(False)
 self.statusBar.showMessage("Error: " + self.mediaPlayer.errorString())

if __name__ == '__main__':
 import sys
 app = QApplication(sys.argv)
 player = VideoPlayer()
 player.setWindowTitle("Player")
 player.resize(900, 600)
 player.show()
 sys.exit(app.exec())



The videos I want to play are in the same folder as this .py file.
The conda env (python 3.9.2) I am working on has the following packages :


certifi 2024.6.2
charset-normalizer 3.3.2
idna 3.7
pip 24.0
pynput 1.7.6
PyQt6 6.7.0
PyQt6-Qt6 6.7.1
PyQt6-sip 13.6.0
PyQt6-WebEngine 6.7.0
PyQt6-WebEngine-Qt6 6.7.1
PyQt6-WebEngineSubwheel-Qt6 6.7.1
pyserial 3.5
requests 2.31.0
setuptools 69.5.1
six 1.16.0
urllib3 2.2.1
wheel 0.43.0



PS : MacOS seems to have the same issue.


-
There is no data in the inbound-rtp section of WebRTC. I don't know why
13 juin 2024, par qytI am a streaming media server, and I need to stream video to WebRTC in H.264 format. The SDP exchange has no errors, and Edge passes normally.


These are the log debugging details from
edge://webrtc-internals/
. Both DTLS and STUN show normal status, and SDP exchange is also normal. I used Wireshark to capture packets and saw that data streaming has already started. Thetransport
section (iceState=connected, dtlsState=connected, id=T01) also shows that data has been received, but there is no display of RTP video data at all.

timestamp 2024/6/13 16:34:01
bytesSent 5592
[bytesSent_in_bits/s] 176.2108579387652
packetsSent 243
[packetsSent/s] 1.001198056470257
bytesReceived 69890594
[bytesReceived_in_bits/s] 0
packetsReceived 49678
[packetsReceived/s] 0
dtlsState connected
selectedCandidatePairId CPeVYPKUmD_FoU/ff10
localCertificateId CFE9:17:14:B4:62:C3:4C:FF:90:C0:57:50:ED:30:D3:92:BC:BB:7C:13:11:AB:07:E8:28:3B:F6:A5:C7:66:50:77
remoteCertificateId CF09:0C:ED:3E:B3:AC:33:87:2F:7E:B0:BD:76:EB:B5:66:B0:D8:60:F7:95:99:52:B5:53:DA:AC:E7:75:00:09:07
tlsVersion FEFD
dtlsCipher TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
dtlsRole client
srtpCipher AES_CM_128_HMAC_SHA1_80
selectedCandidatePairChanges 1
iceRole controlling
iceLocalUsernameFragment R5DR
iceState connected



video recv info


inbound-rtp (kind=video, mid=1, ssrc=2124085007, id=IT01V2124085007)
Statistics IT01V2124085007
timestamp 2024/6/13 16:34:49
ssrc 2124085007
kind video
transportId T01
jitter 0
packetsLost 0
trackIdentifier 1395f18c-6ab9-4dbc-9149-edb59a81044d
mid 1
packetsReceived 0
[packetsReceived/s] 0
bytesReceived 0
[bytesReceived_in_bits/s] 0
headerBytesReceived 0
[headerBytesReceived_in_bits/s] 0
jitterBufferDelay 0
[jitterBufferDelay/jitterBufferEmittedCount_in_ms] 0
jitterBufferTargetDelay 0
[jitterBufferTargetDelay/jitterBufferEmittedCount_in_ms] 0
jitterBufferMinimumDelay 0
[jitterBufferMinimumDelay/jitterBufferEmittedCount_in_ms] 0
jitterBufferEmittedCount 0
framesReceived 0
[framesReceived/s] 0
[framesReceived-framesDecoded-framesDropped] 0
framesDecoded 0
[framesDecoded/s] 0
keyFramesDecoded 0
[keyFramesDecoded/s] 0
framesDropped 0
totalDecodeTime 0
[totalDecodeTime/framesDecoded_in_ms] 0
totalProcessingDelay 0
[totalProcessingDelay/framesDecoded_in_ms] 0
totalAssemblyTime 0
[totalAssemblyTime/framesAssembledFromMultiplePackets_in_ms] 0
framesAssembledFromMultiplePackets 0
totalInterFrameDelay 0
[totalInterFrameDelay/framesDecoded_in_ms] 0
totalSquaredInterFrameDelay 0
[interFrameDelayStDev_in_ms] 0
pauseCount 0
totalPausesDuration 0
freezeCount 0
totalFreezesDuration 0
firCount 0
pliCount 0
nackCount 0
minPlayoutDelay 0



wireshark,I have verified that the SSRC in the SRTP is correct.




This player works normally when tested with other streaming servers. I don't know what the problem is. Is there any way to find out why the web browser cannot play the WebRTC stream that I'm pushing ?


-
washed out colors when converting h264 into vp9 using ffmpeg [closed]
31 juillet 2024, par apes-together-strongI'm trying to convert an h264 video to vp9/opus webm.
Every attempt so far has had washed out colors.
Is there a fix for this issue or is it just the way h264->vp9 conversion is ?


ffprobe of the source file :


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test1.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2024-07-30T17:03:10.000000Z
 com.android.version: 10
 Duration: 00:01:04.07, start: 0.000000, bitrate: 20198 kb/s
 Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/bt470bg/smpte170m, progressive), 1920x1080, 20001 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn (default)
 Metadata:
 creation_time : 2024-07-30T17:03:10.000000Z
 handler_name : VideoHandle
 vendor_id : [0][0][0][0]
 Side data:
 displaymatrix: rotation of -90.00 degrees
 Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s (default)
 Metadata:
 creation_time : 2024-07-30T17:03:10.000000Z
 handler_name : SoundHandle
 vendor_id : [0][0][0][0]