Recherche avancée

Médias (91)

Autres articles (19)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

Sur d’autres sites (1800)

  • PyQt6 6.7.0 - How to fix error : No QtMultimedia backends found

    4 février, par Belleroph0N

    Problem 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 :

    


      

    1. 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.
    2. 


    3. I thought that missing ffmpeg might be the issue so I installed it, but the issue persists.
    4. 


    5. 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.)
    6. 


    


    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 qyt

    I 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. The transport 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.

    


    enter image description here

    


    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-strong

    I'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]