Recherche avancée

Médias (16)

Mot : - Tags -/mp3

Autres articles (33)

  • 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

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • 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.

Sur d’autres sites (3640)

  • HLS. FFmpeg : error when loading first segment [closed]

    30 avril 2024, par rus_99_pk

    I'm trying to download a streaming video using ffmpeg. There is a file in the format *.m3u8. BUT, if everything was so simple, I would not have come here.

    


    There are a number of nuances :

    


      

    1. It cannot be downloaded by specifying a link to the file
    2. 


    3. If you upload the file and look at its contents, there will be : #EXT-X-KEY:METHOD=AES-128,URI="[KEY],IV=[IV]
    4. 


    


    With a URI, the task is easy to solve ; just specify the value list.m3u8.

    


    I end up getting :

    


    Error when loading first segment 'https://cdnv-m12.boomstream.com/vod/hash:21596def3216ed982660d609751b8078/id:35105.29443.1039983.85853232.150106.hls/time:0/data:eyJ2ZXJzaW9uIjoiMS4yLjk3IiwidXNlX2RpcmVjdF9saW5rcyI6InllcyIsImlzX2VuY3J5cHQiOiJ5ZXMifQ==/m61/2024/04/27/1Q0idCxb.mp4/media-1.ts'


    


    But with IV it’s more difficult, because file processing is performed on the server side. Please help.

    


    I tried to get JS with similar variable names and monitor network traffic using Wireshark, in the hope of catching a response from the server with IV.

    


    But it didn't help me.

    


    My script for download :

    


    #!/bin/bash
clear

link="/home/user/Download/chunklist.m3u8"
filename="testfile"

ffmpeg \
-headers $'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:124.0) Gecko/20100101 Firefox/124.0\r\nAccept: */*\r\nAccept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\nAccept-Encoding: gzip, deflate, br\r\nOrigin: https://example.com\r\nConn>
-protocol_whitelist "file,http,https,tcp,tls,crypto" \
-allowed_extensions ALL \
-f hls \
-i "$link" \
-map p:2 \
-bsf:a aac_adtstoasc  -vcodec copy  -c copy -crf 50 /tmp/$filename.mp4 -v trace


    


    Trace log

    


  • ffmpeg output with label 'v' does not exist in any defined filtler graph

    15 avril 2024, par David Royale

    Been trying to make this Python code work but it fails up until rendering the final part :

    


    import subprocess
import re
import os

def detect_idle_sections(video_path):
    command = ['ffmpeg', '-i', video_path, '-vf', 'select=\'gt(scene,0.1)\'', '-vsync', 'vfr', '-f', 'null', '-']
    output = subprocess.check_output(command, stderr=subprocess.STDOUT).decode('utf-8')
    
    idle_sections = []
    duration = 0.0
    for line in output.split('\n'):
        match = re.search(r'scene:(\d+)', line)
        if match:
            scene = int(match.group(1))
            if scene == 0:
                duration += 1.0 / 30  # Assuming 30 fps
            else:
                if duration > 0:
                    idle_sections.append((duration, duration - (1.0 / 30)))  # Duration and start time
                    duration = 0.0
    
    return idle_sections

def cut_idle_sections(video_path, idle_sections, output_path, total_duration):
    print("starting to cut things")
    filters = []
    start_time = 0.0
    for duration, _ in idle_sections:
        filters.append(f'[0:v]trim=start={start_time}:end={start_time + duration},setpts=PTS-STARTPTS[v{len(filters)}]')
        start_time += duration
    
    if start_time < total_duration:
        filters.append(f'[0:v]trim=start={start_time},setpts=PTS-STARTPTS[v{len(filters)}]')

    filter_str = ';'.join(filters)
    print("finished chopping")
    command = ['ffmpeg', '-i', video_path, '-filter_complex', filter_str, '-map', '[v]', output_path]
    subprocess.call(command)

def get_total_duration(video_path):
    print("prior getting time")
    command = ['ffprobe', '-v', 'error', '-show_entries', 'format=duration', '-of', 'default=noprint_wrappers=1:nokey=1', video_path]
    output = subprocess.check_output(command).decode('utf-8').strip()
    print("after getting time")
    return float(output)

input_file = r"C:\Users\D\Videos\2024-04-15 08-42-53.mkv"
output_file = r"C:\Users\D\Videos\output_video.mp4"

# Get full paths
input_path = os.path.abspath(input_file)
output_path = os.path.abspath(output_file)

total_duration = get_total_duration(input_path)
idle_sections = detect_idle_sections(input_path)
cut_idle_sections(input_path, idle_sections, output_path, total_duration)


    


    The error I am getting is :

    


    [out#0/mp4 @ 000001af60f9d3c0] Output with label 'v' does not exist in any defined filter graph, or was already used elsewhere.
Error opening output file C:\Users\D_era\Videos\output_video.mp4.
Error opening output files: Invalid argument


    


    The code is intended to cut "iddle" frames where frame a = frame b. I want to point out that I don't really care about audio, so it's just comparing if frames "A" through "H" are the same and keeping a and continuing with the rest of the video.

    


    Putting some comments to determine which part was successful and which broke, I found that the line failig is this :

    


    command = ['ffmpeg', '-i', video_path, '-filter_complex', filter_str, '-map', '[v]', output_path]


    


    and apparently is the -map part.

    


  • Flutter error in Ffmpeg, "Unhandled Exception : ProcessException : No such file or directory" in macOS desktop version

    19 avril 2024, par pratik vekariya

    I'm trying video trim video using ffmpeg, for macOS desktop application.

    


    I have downloaded ffmpeg from here for macOS.

    


    Here is my code

    


        String mainPath = &#x27;Users/apple/Workspace/User/2024/Project/videoapp/build/macos/Build/Products/Debug/&#x27;;&#xA;        mainPath = mainPath.substring(0, mainPath.lastIndexOf("/"));&#xA;    &#xA;                  Directory directoryExe3 = Directory("$mainPath");&#xA;                  var dbPath = path.join(directoryExe3.path,&#xA;                      "App.framework/Resources/flutter_assets/assets/ffmpeg/ffmpegmacos");&#xA;//here in "Products/Debug/" folder desktop app will generate&#xA;&#xA;//directoryExe3 path will be, Users/apple/Workspace/User/2024/Project/videoapp/build/macos/Build/Products/Debug&#xA;&#xA;//and dbPath will be, Users/apple/Workspace/User/2024/Project/videoapp/build/macos/Build/Products/Debug/App.framework/Resources/flutter_assets/assets/ffmpeg/ffmpegmacos&#xA;&#xA;//so when app will run it can access it from this path&#xA;&#xA;//executable code, command for ffmpeg&#xA;&#xA;String transpose_str &#x2B;= "crop=" &#x2B;&#xA;              out_w.toInt().toString() &#x2B;&#xA;              ":" &#x2B;&#xA;              out_h.toInt().toString() &#x2B;&#xA;              ":" &#x2B;&#xA;              x!.toInt().toString() &#x2B;&#xA;              ":" &#x2B;&#xA;              y!.toInt().toString() &#x2B;&#xA;              ",";&#xA;          transpose_str &#x2B;= "scale=960:192";&#xA;&#xA;Future<processresult> result_ = Process.run(dbPath, [&#xA;                "-ss",&#xA;                timestamp,&#xA;                "-i",&#xA;                inputFilePath,&#xA;                "-t",&#xA;                endTime,&#xA;                "-vf",&#xA;                transpose_str,&#xA;                "-an",&#xA;                "./temp.mp4",&#xA;              ]); &#xA;</processresult>

    &#xA;

    Now when I run this in macOS desktop verison, it gives me error at Process.run that in dbPath, Unhandled Exception : ProcessException : No such file or directory.

    &#xA;

    Any help would be appreciate !

    &#xA;

    when i run this as desktop version it should get file from assets.

    &#xA;