Recherche avancée

Médias (1)

Mot : - Tags -/pirate bay

Autres articles (98)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (11770)

  • OpenCV ffmpeg DLL not loaded when running app on Windows 7, works on 8 and 10

    4 avril 2018, par David G.

    I need to maintain a desktop app written in C++, using Qt and OpenCV for some video processing. As far as I understood, the decoding part of OpenCV is delegated to ffmpeg in a separate DLL for licensing reasons.

    The development environment is on Windows 10, using QT Creator and MSVC12 64-bit as compiler. OpenCV version is 3.0, the official distribution. Here, everything runs fine, I am able to decode a video using VideoCapture::open().

    Issues arise when I try to run the application in a standalone fashion with all the required DLLs in the same folder as the .exe file. All cases below are 64-bit OSes.

    On a Windows 10 computer, not the same as the developement machine and no developer libraries present, the video decoding works fine. I have tested on a Windows 8 machine as well, no issues so far.

    On Windows 7, the things get tricky. The same video files that successfully load during the previous tests are not recognized by the app at all i.e. the isOpened call on VideoCapture returns false. For further testing, I stripped the opencv_ffmpeg300_64.dll file to narrow down the issue on Windows 10 and 8 ; as expected, without this DLL the app is no more able to open the same video files.

    It seems that the DLL is simply not recognized on Windows 7.

    Edit : Further investigation using Process Explorer clearly shows that the aforementioned DLL is not loaded when the app runs on Windows 7.

    • Is there something specific about how Windows 7 manages the DLL path resolution and eventual security measures ? Seems normal that the first search location is the same folder as the executable, which is the case here.

    I have tried to trace using WinApiOverride32, with no results.

  • Which library supports showing a secure RTSP stream on Windows ?

    26 octobre 2022, par Juergen

    I have a windows application that consumes streams from IP-Cameras.
Currently I am using WebEye, an open-source component that uses ffmpeg under the hood.
I now want to connect to an AXIS IP-Camera which supports RTSPS (RTSP over SSL/TLS).
Since WebEye doesn't support RTSPS directly I was hoping that I could get ffmpeg to do the job and adjust WebEye.
Alternatively I would use any other Streaming-Library that supports viewing a secure RTSPS-stream on Windows, but I didn't come across any.

    


    So, I guess my questions are :

    


      

    1. Are there any Windows-Tools that supports RTSPS-Streams
    2. 


    3. Are there any libraries that I can use in my Windows-application to show the RTSPS-stream ?
    4. 


    5. Can I get ffmpeg and/or ffplay to play the RTSPS-Stream ?
    6. 


    


    Thanks in advance for the help !

    


    Best Regards

    


    Juergen

    


  • Popen subprocess giving wrong ffmpeg process ID when trying to close

    28 octobre 2023, par Goku

    I'm trying to create a Video Management System application using Python and Django, that displays live camera stream and do video recording. For this, I add cameras using POST request and everything works fine.

    


    But when I am required to update a camera's details, like IP address or password, then first I delete the camera and then create a new instance with same camera name. The problem I'm facing is that the process ID of the camera (ffmpeg instance here) is not updating, e.g. if initially the process ID was 10, then it remains 10 (in terminate() function in the code) even when I re-create the camera with new details but I do get new process ID in start() function.

    


    Below is the code :

    


    import subprocess
from subprocess import Popen
import os, sys
import threading
import time
from datetime import datetime
import pytz
import os, signal


"""This class is used to create camera objects to display live stream and recordings,
    it is also used to manage recordings files by deleting them at the given time"""
class CameraStream:
    
    def __init__(self, device_name, username, password, ip_address, storage_days):

        self.cam_name = device_name
        self.username = username
        self.password = password
        self.cam_ip = ip_address
        self.storage_days = storage_days
        self.p1 = None
        self.p2 = None
        self.p1_id = None
        self.p2_id = None

        self.recordings_list = []

        folder_name = f"videos/Recordings/{self.cam_name}"
        folder_name2 = f"videos/LiveStreams/{self.cam_name}"

        if not os.path.exists(folder_name):
            os.mkdir(folder_name)
        if not os.path.exists(folder_name2):
            os.mkdir(folder_name2)

        self.directory = folder_name

        t = threading.Thread(target=self.maintain_recordings, args=())
        t.start()

        self.live_stream = f"ffmpeg -fflags nobuffer -rtsp_transport tcp -i rtsp://{self.username}:{self.password}@{self.cam_ip}:554/stream1 -copyts -vcodec copy -acodec copy -hls_flags delete_segments+append_list -f hls -hls_time 6 -hls_list_size 5 -hls_segment_type mpegts -hls_segment_filename videos/LiveStreams/{self.cam_name}/%d.ts videos/LiveStreams/{self.cam_name}/index.m3u8".split(" ")
        self.recording = f"ffmpeg -use_wallclock_as_timestamps 1 -rtsp_transport tcp -i rtsp://{self.username}:{self.password}@{self.cam_ip}:554/stream1 -vcodec copy -acodec copy -f segment -reset_timestamps 1 -segment_time 1800 -segment_format mp4 -segment_atclocktime 1 -strftime 1 videos/Recordings/{self.cam_name}/%Y%m%dT%H%M%S.mp4".split(" ")

        self.start()


    def start(self):
        self.p1 = Popen(self.live_stream)
        self.p2 = Popen(self.recording)
        # self.p1.wait()       # wait() is not letting the POST request to complete. Hence, using time.sleep() to get process id
        # self.p2.wait()
        time.sleep(2)
        self.p1_id = self.p1.pid
        self.p2_id = self.p2.pid
        print("In start func: ", self.p1_id, self.p2_id)     # gives new process ID here

    def terminate_process(self):
        print("you have awakened me!")
        try:
            try:
                print("In terminate func: ", self.p1_id, self.p2_id)    # gives older process ID here
                os.kill(int(self.p1_id), signal.SIGKILL)
                os.kill(int(self.p2_id), signal.SIGKILL)
                print("terminated by process id!")
            except:
                print("could not delete by process id!")
            try:
                self.p1.terminate()
                self.p2.terminate()
                print("terminated by terminate()")
            except:
                print("could not delete by terminate()")
            try:
                self.p1.kill()
                self.p2.kill()
                print("terminated by kill()")
            except:
                print("could not delete by kill()")
        except Exception as e:
            print("Failed to stop ffmpeg: ", e)


    


    I think I'm making a mistake when deleting the ffmpeg subprocess but can't figure out what it is. Have tried many methods to stop/kill the subprocess but I'm still facing the problem.
I believe there is a problem with the terminate_process() function.

    


    I'm deleting the object by using the del keyword, e.g. del , maybe it's keeping the object in the memory but only destroying the reference to that object.