Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (109)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Les sons

    15 mai 2013, par

Sur d’autres sites (11674)

  • ffmpeg creates empty mpd-file

    1er avril 2021, par Macster

    I'm trying to live stream a webm file using ffmpeg and Dash.js as a Player. Creating chunks with ffmpeg seems to work fine, but when want to create the manifest it says Could not find codec parameters for stream 0 (Video: vp9, none, 640x480): unspecified pixel format Consider increasing the value for the 'analyzeduration' and 'probesize' options and at the end Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used).

    


    Commands I use

    


    ffmpeg -re -r 25 -i Dash/strm.webm
 -map 0:v:0
 -pix_fmt yuv420p
 -c:v libvpx-vp9
 -s 640x480 -keyint_min 25 -g 25 
 -speed 6 -threads 8 -static-thresh 0 -max-intra-rate 300 
 -deadline realtime -lag-in-frames 0 -error-resilient 1
 -f webm_chunk 
 -header "Dash/glass_360.hdr"
 -chunk_start_index 1
 Dash\glass_360_%d.chk


    


    Manifest

    


    ffmpeg ^
 -f webm_dash_manifest -live 1
 -r 25
 -i Dash/glass_360.hdr
 -c copy
 -map 0
 -r 25
 -framerate 25
 -f webm_dash_manifest -live 1
 -adaptation_sets "id=0,streams=0"
 -chunk_start_index 1
 -chunk_duration_ms 1000
 -time_shift_buffer_depth 7200
 -minimum_update_period 7200
 Dash/glass_live_manifest.mpd


    


    Manifest Output

    


     libavutil      56. 49.100 / 56. 49.100
  libavcodec     58. 87.101 / 58. 87.101
  libavformat    58. 43.100 / 58. 43.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 83.100 /  7. 83.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
[webm_dash_manifest @ 0000015f19f2ea40] Could not find codec parameters for stream 0 (Video: vp9, none, 640x480): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, webm_dash_manifest, from 'Dash/glass_360.hdr':
  Metadata:
    ENCODER         : Lavf58.43.100
  Duration: N/A, bitrate: N/A
    Stream #0:0(eng): Video: vp9, none, 640x480, SAR 1:1 DAR 4:3, 1k tbr, 1k tbn, 1k tbc (default)
    Metadata:
      ALPHA_MODE      : 1
      ENCODER         : Lavc58.87.101 libvpx-vp9
      webm_dash_manifest_file_name: glass_360.hdr
      webm_dash_manifest_track_number: 1
Output #0, webm_dash_manifest, to 'stream_manifest.mpd':
  Metadata:
    encoder         : Lavf58.43.100
    Stream #0:0(eng): Video: vp9, none, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 1k tbr, 1k tbn, 1k tbc (default)
    Metadata:
      ALPHA_MODE      : 1
      ENCODER         : Lavc58.87.101 libvpx-vp9
      webm_dash_manifest_file_name: glass_360.hdr
      webm_dash_manifest_track_number: 1
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=-1.0 Lsize=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)


    


    glass_live_manifest.mpd

    


    &lt;?xml version="1.0" encoding="UTF-8"?>&#xA;&#xA;<period start="PT0S">&#xA;<adaptationset mimetype="video/webm" codecs="vp9" lang="eng" bitstreamswitching="true" subsegmentalignment="true" subsegmentstartswithsap="1">&#xA;<contentcomponent type="video"></contentcomponent>&#xA;<segmenttemplate timescale="1000" duration="1000" media="glass_$RepresentationID$_$Number$.chk" startnumber="1" initialization="glass_$RepresentationID$.hdr"></segmenttemplate>&#xA;<representation bandwidth="1000000" width="640" height="480" codecs="vp9" mimetype="video/webm" startswithsap="1"></representation>&#xA;</adaptationset>&#xA;</period>&#xA;&#xA;

    &#xA;

    UPDATE

    &#xA;

    I fixed the "warnings" by changing the comands like this :

    &#xA;

    ffmpeg -re -r 25 -i Dash/strm.webm&#xA;-map 0:v:0&#xA;-pix_fmt yuv420p&#xA;-c:v libvpx&#xA;-s 640x480 -keyint_min 60 -g 60 -speed 6 -tile-columns 4 -frame-parallel 1 -threads 8 -static-thresh 0 -max-intra-rate 300 -deadline realtime -lag-in-frames 0 -error-resilient 1&#xA;-b:v 3000k&#xA;-f webm_chunk&#xA;-header "Dash/glass_360.hdr"&#xA;-chunk_start_index 1 Dash/glass_360_%d.chk&#xA;-map 0:a:0&#xA;-c:a libvorbis&#xA;-b:a 128k -ar 44100&#xA;-f webm_chunk&#xA;-audio_chunk_duration 2000&#xA;-header Dash/glass_171.hdr&#xA;-chunk_start_index 1 Dash/glass_171_%d.chk&#xA;&#xA;ffmpeg&#xA;-f webm_dash_manifest -live 1&#xA;-i Dash/glass_360.hdr&#xA;-f webm_dash_manifest -live 1&#xA;-i Dash/glass_171.hdr&#xA;-c copy&#xA;-map 0 -map 1&#xA;-f webm_dash_manifest -live 1&#xA;-adaptation_sets "id=0,streams=0 id=1,streams=1"&#xA;-chunk_start_index 1&#xA;-chunk_duration_ms 2000&#xA;-time_shift_buffer_depth 7200&#xA;-minimum_update_period 7200 Dash/glass_video_manifest.mpd&#xA;

    &#xA;

    However, it's still not working.

    &#xA;

  • Execute mp4box cmd via java got error

    6 novembre 2015, par Ducthien

    sorry when I tag ffmpeg because I couldn’t tag MP4Box.But I have proplem with excuted with ffmpeg via javacode too.
    I read at How to execute cmd commands via Java but i can’t find my proplem.

    I’m tested commands in cmd, it was ok :

    MP4Box -dash 10000 -dash-profile live -segment-name output- seg -rap
    -bs-switching no input.mp4

    but when i executed cmd via java code , i get error :

    Error - only one input file found as argument, please check usage

    Below is my code, has something wrong ?

    package com.uit.reformatvideo;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.logging.Logger;

    public class ExecuteComandToFormatVideo {

       public final static String LINK_MP4BOX = "C:/MP4Box/Tools/MP4Box.exe";
       public final static String CREATE_MPD_ECLIPSE = "mp4box -dash 10000 -frag 1000 -rap -bs-switching no";
       public final static String CREATE_MPD_IE = "MP4Box -dash 10000 -dash-profile live -segment-name output-seg -rap -bs-switching no";
       private static final Logger log = Logger.getLogger(ExecuteComandToFormatVideo.class.getName());


       public static void main(String[] args) throws IOException, InterruptedException {
             String s = null;

               try {

               // run the Unix "ps -ef" command
                   // using the Runtime exec method:
                   String lsCmd[] = new String [2];
                   lsCmd[0] = LINK_MP4BOX;
                   lsCmd[1] = "MP4Box -dash 10000 -dash-profile live -segment-name output-seg -rap -bs-switching no input.mp4";
                   Process p = Runtime.getRuntime().exec(lsCmd);
                   p.waitFor();
                   BufferedReader stdInput = new BufferedReader(new
                        InputStreamReader(p.getInputStream()));

                   BufferedReader stdError = new BufferedReader(new
                        InputStreamReader(p.getErrorStream()));

                   // read the output from the command
                   System.out.println("Here is the standard output of the command:\n");
                   while ((s = stdInput.readLine()) != null) {
                       System.out.println(s);
                   }

                   // read any errors from the attempted command
                   System.out.println("Here is the standard error of the command (if any):\n");
                   while ((s = stdError.readLine()) != null) {
                       System.out.println(s);
                   }

                   System.exit(0);
               }
               catch (IOException e) {
                   System.out.println("exception happened - here's what I know: ");
                   e.printStackTrace();
                   System.exit(-1);
               }
       }

    }

    Here was out put :

    Here is the standard output of the command :

    Here is the standarderror of the command (if any) : Error - only one
    input file found as argument, please check usage

  • How to manually reset the offset of an mp4 video created from m4s files ?

    12 août 2020, par natdev

    I'm building a service that combine .m4s files (from a dash stream) to a mp4 video.
    &#xA;I have some sample m4s files from a random point in time of a stream,
    &#xA;using ffmpeg on those file + the init file does the job.

    &#xA;

    cat init.mp4 032.m4s 033.m4s 034.m4s > output.mp4&#xA;

    &#xA;

    I have tried concating the m4s files to the mp4 init file and I manage to play the video,
    &#xA;but there is an offset from the encoded video segments.

    &#xA;

    I guess ffmpeg does reset that somehow, and I was wondering how can I reset that offset as well ?
    &#xA;Having a little bit of experience with dash, I know that there is a field name presentationTimeOffset that is responsible to set the offset.

    &#xA;