Recherche avancée

Médias (1)

Mot : - Tags -/belgique

Autres articles (50)

  • MediaSPIP : Modification des droits de création d’objets et de publication définitive

    11 novembre 2010, par

    Par défaut, MediaSPIP permet de créer 5 types d’objets.
    Toujours par défaut les droits de création et de publication définitive de ces objets sont réservés aux administrateurs, mais ils sont bien entendu configurables par les webmestres.
    Ces droits sont ainsi bloqués pour plusieurs raisons : parce que le fait d’autoriser à publier doit être la volonté du webmestre pas de l’ensemble de la plateforme et donc ne pas être un choix par défaut ; parce qu’avoir un compte peut servir à autre choses également, (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Les statuts des instances de mutualisation

    13 mars 2010, par

    Pour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
    Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...)

Sur d’autres sites (9910)

  • HlS playlist skip files with ffmpeg

    29 janvier, par tamirg

    I simply downloaded 5 mp3 files from here :
https://samplelib.com/sample-mp3.html

    


    which means i have :

    


    sample-3s.mp3
sample-6s.mp3
sample-9s.mp3
sample-12s.mp3
sample-15s.mp3


    


    and then i create a simple hls playlist sample.m3u8 :

    


    #EXTM3U
#EXT-X-TARGETDURATION:20
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:3.0,
sample-3s.mp3
#EXTINF:6.0,
sample-6s.mp3
#EXTINF:9.0,
sample-9s.mp3
#EXTINF:12.0,
sample-12s.mp3
#EXTINF:15.0,
sample-15s.mp3


    


    But when i play this playlist :

    


    ffplay sample.m3u8


    


    i get :

    


    [hls @ 0x13703b4d0] Opening 'sample-9s.mp3' for reading
[mp3 @ 0x13703b740] invalid concatenated file detected - using bitrate for duration
Input #0, hls, from 'playlist2.m3u8':
  Duration: N/A, start: 0.000000, bitrate: 128 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
  Stream #0:0: Audio: mp3 (mp3float), 44100 Hz, stereo, fltp, 128 kb/s
      Metadata:
        variant_bitrate : 0
        encoder         : Lavc57.10
2025-01-29 10:57:46.957 ffplay[17029:696588] +[IMKClient subclass]: chose IMKClient_Modern
2025-01-29 10:57:46.957 ffplay[17029:696588] +[IMKInputSession subclass]: chose IMKInputSession_Modern
[hls @ 0x13703b4d0] Opening 'sample-12s.mp3' for reading 0B
[mp3float @ 0x13703c710] Header missingvq=    0KB sq=    0B
[hls @ 0x13703b4d0] Opening 'sample-15s.mp3' for reading 0B


    


    It starts playing from the file sample-9s, and not sample-3s. So it skips the first two files.
Why does it happen ?

    


  • HLS playback stopped with Player error : mediaError - bufferAppendError

    23 janvier, par Sumoanand

    I am trying to merge two videos together in the m3u8 manifest file.
However, exactly at the point to HLS stream discontinuity, video playback stops with following error :
Player error : mediaError - bufferAppendError

    


    Here is the sample m3u8 snippet :

    


    #EXT-X-PROGRAM-DATE-TIME:2025-01-23T01:23:10.200-06:00
#EXTINF:6.000
17.ts
#EXT-X-PROGRAM-DATE-TIME:2025-01-23T01:23:16.200-06:00
#EXTINF:6.000
18.ts
#EXT-X-DISCONTINUITY
#EXT-X-KEY:METHOD=NONE
#EXT-X-PROGRAM-DATE-TIME:2025-01-23T01:23:21.700-06:00
#EXTINF:6.000
10ak171685189367-007cb1c1a5398250e495vHD.20.ts
#EXT-X-PROGRAM-DATE-TIME:2025-01-23T01:23:27.700-06:00
#EXTINF:6.000
10ak171685189367-007cb1c1a5398250e495vHD.21.ts


    


    FFprobe output of 18.ts :

    


      Duration: 00:00:06.01, start: 1692.774667, bitrate: 3440 kb/s
  Program 1 
  Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn
  Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 159 kb/s


    


    FFprobe output of 10ak171685189367-007cb1c1a5398250e495vHD.20.ts :

    


      Duration: 00:00:06.02, start: 1.443444, bitrate: 744 kb/s
  Program 1 
    Metadata:
  Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn
  Stream #0:1[0x101](eng): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 65 kb/s


    


    I would greatly appreciate any inputs.

    


  • Stream H264 raw data on RTSP server

    1er janvier, par Aitazaz

    I have H264 hex string data saved in a list.
The data is in correct format as it is being received, I am trying to stream it to RTSP server.

    


    I have stream the data in realtime as it is from a dashcam.

    


    The RTSP server is deployed but when I stream frames to it, the connection is created and then ends in an instant (does not last for a second)

    


    The code is mentioned below which performs this streaming task.

    


    def h264_stream_to_rtsp(data_list, rtsp_url):
    try:
        ffmpeg_command = [
            "ffmpeg", 
            "-f", "h264",
            "-i", "-",
            "-vcodec", "libx264",
            "-preset", "fast",
            "-f", "rtsp",
            "-analyzeduration", "5000000",
            "-probesize", "5000000", 
            rtsp_url  # The RTSP URL to stream to
        ]
        
        ffmpeg_process = subprocess.Popen(ffmpeg_command, stdin=subprocess.PIPE)

        for index, hex_data in enumerate(data_list):
            # print(f"Processing hex data {index + 1}/{len(data_list)}...")

            if len(hex_data) % 2 != 0:
                hex_data = '0' + hex_data  # Append a leading zero if length is odd

            binary_data = binascii.unhexlify(hex_data)

            ffmpeg_process.stdin.write(binary_data)

        ffmpeg_process.stdin.close()

        ffmpeg_process.wait()
        print("Stream completed.")

    except KeyboardInterrupt:
        print("Stopping live stream.")
    except Exception as e:
        print(f"Error: {e}")


    


    Logs from the RTSP server are mentioned below :

    


    2025/01/01 10:56:04 INF [RTSP] [conn 20.174.9.78:35474] opened
2025/01/01 10:56:04 INF [RTSP] [session 1d2bb871] created by 20.174.9.78:35474
2025/01/01 10:56:04 INF [RTSP] [session 1d2bb871] is publishing to path 'live', 1 track (H264)
2025/01/01 10:56:04 INF [RTSP] [session 1d2bb871] destroyed: torn down by 20.174.9.78:35474
2025/01/01 10:56:04 INF [RTSP] [conn 20.174.9.78:35474] closed: EOF
2025/01/01 10:56:48 INF [RTSP] [conn 20.174.9.78:54448] opened
2025/01/01 10:56:48 INF [RTSP] [session b6a95e71] created by 20.174.9.78:54448
2025/01/01 10:56:48 INF [RTSP] [session b6a95e71] is publishing to path 'live', 1 track (H264)
2025/01/01 10:56:48 INF [RTSP] [session b6a95e71] destroyed: torn down by 20.174.9.78:54448


    


    How can I stream continuously ?