Recherche avancée

Médias (0)

Mot : - Tags -/performance

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (78)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (11605)

  • Why MP4 generated through FFmpeg API can't be played in the Windows Media Player ?

    2 septembre 2021, par James

    I encoded some frames into a MP4 using FFmpeg API, but the MP4 could't be played in the Windows Media Player.

    


    By comparison with the normal MP4 using ffprobe, I found that the FOURCC of the problematic MP4 is 'H264' while the normal MP4 is 'AVC1'.
According to H.264 Video Types, 'AVC1' has start codes but 'H264' hasn't.I also learned that we shoud manually add sps and pps before H.264 stream when demuxing a MP4.

    


    Now I don't know how to add start code or sps/pps to my MP4, please give me a hand.
How I should do to generate a MP4 which can be played in the Windows Media Player ?

    


    I have tried to add h264 bitstream filter but it didn't work. The code below :

    


     AVBitStreamFilterContext *bsfc = NULL;
bsfc = av_bitstream_filter_init("h264_mp4toannexb");
if (bsfc == NULL) {
            printf("bsfc is NULL\n");
}
        
av_bitstream_filter_filter(bsfc, codec_ctx, NULL, &(pkt->data), &(pkt->size), pkt->data, pkt->size, 0);

av_bitstream_filter_close(bsfc);


    


    After a lot of trying, I found that manually adding sps and pps to codec_ctx->extradata effective :

    


    unsigned char sps_pps[23] = { 0x00, 0x00, 0x00, 0x01, 0x67, 0x64, 0x00, 0x29, 0xac, 0x1b, 0x1a, 0x12, 0xe0, 0x51, 0x90,
                              0x00, 0x00, 0x00, 0x01, 0x68, 0xea, 0x43, 0xcb };
codec_ctx->extradata_size = 23;
codec_ctx->extradata = (uint8_t*)av_malloc(23 + AV_INPUT_BUFFER_PADDING_SIZE);
if (codec_ctx->extradata == NULL) {
    printf("could not av_malloc the video params extradata!\n");
    ERR_NULL_EXIT
    }
memcpy(codec_ctx->extradata, sps_pps, 23);


    


    The code above refered to an answer of @szatmary

    


    Now generated MP4 can be played in Windows Media Player. But a new question emerges because I don't konw what correct value of sps/pps is. It cause that the width and height of frame presented in the Windows Explorer is incorrect. So I need to set the correct sps/pps. I also read the document of sps/pps but get confused because some parameters have variable bits. So can anybody tell me how to set the sps/pps correctly ?

    


  • vba & operator string error sending with string of arguments to processStartInfo for ffmpeg

    25 avril 2015, par Robert McCorkle

    I need to pass a string into the ProcessStartInfo for ffmpeg so that I can call the dim.Argument and have it append the strings and variables from code as I parse through the files.

    I have the current filename.mp3 that the code sees in movedFileInfo but it won’t allow me to append it to the string using & operators... help ?

    I know there may be one other way to do this utilizing the ffmpeg command in separate function to simply loop through a directory using "for" but I’ve not found a successful command for running my ffmpeg.exe nor the ffprompt in windows. I also need to append a carriage return when I write to merge.txt but can’t find an example... I’m new to vba.

    These commands work but vba is complaining about my & operator in my string. The operator ’&’ is not defined for types ’String’ and ’System.IO.FileInfo’. So what’s I understand is that the string I’m passing into psi.Arguments doesn’t like the fact that I’m sending it a string and a variable appended using the ’&’ operator... do I simply use a comma or how do I append the variable movedFileInfo to ffmpeg -i ? psi is defined above as ProcessStartInfo... so I’m not sure what types vb recognizes for it... I haven’t found info on ProcessStartInfo to kick off my ffmpeg exe.

    See code below :

    Imports System
    Imports System.IO
    Imports System.Text.RegularExpressions

    Public Class Form1

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click

       'videos are from SD card always on I:\Private\AVCHD\BDMV\STREAM\
       'store files to RAID drives in folders structured as :
       '       F:\BUILD\FLIGHT#\CAM#\_FLT__UTC__CAM_.MTS

       'set base dir as directory F:\
       Dim dir As String = "C:\"
       Dim video_card_dir As String = "C:\1bak\" '"I:\Private\AVCHD\BDMV\STREAM\"
       Directory.SetCurrentDirectory(dir)

       Dim new_flightnum_directory = dir & Me.BUILD.Text & "\" & FLT.Text & "\"
       'establish new video dir>  F: \    BUILD      \     FLIGHT # \               CAM #    \
       Dim new_video_directory = dir & Me.BUILD.Text & "\" & FLT.Text & "\" & Me.CAM.Text & "\"
       'establish new filename to rename the video file
       '                               TAIL #              FLT #
       Dim new_filename As String = TAIL.Text & "_" & FLT.Text & "_" & UTC.Text & "_" & CAM.Text
       Dim ffmpeg As String = "C:\ffmpeg\bin\ffmpeg.exe"
       '****FFMPEG required variables
       Dim psi As ProcessStartInfo = New ProcessStartInfo("C:\ffmpeg\bin\ffmpeg.exe")
       Dim proc As Process = Process.Start(psi)

       psi.UseShellExecute = True
       psi.CreateNoWindow = True
       '****end FFMPEG required variables



       '!!!!!!!!!!!!!!!!!!!!!!!!!!!need to add the processing below to the IF statement aboev so that if the folders exist, the video processing doesn't attempt to run on existing files
       ' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!





       '~~~~~~~~~~~~~~~~~~~~~~~~~~~~START - MOVE THIS DOWN BELOW CREATION OF FILE STRUCTURE WHEN DOEN DEBUGGING************


       '***START MOVING the files from the card to the new directory****
       For Each foundFile As String In My.Computer.FileSystem.GetFiles(video_card_dir, Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "*.MTS")

           Dim foundFileInfo As New System.IO.FileInfo(foundFile)
           My.Computer.FileSystem.MoveFile(foundFile, new_video_directory & foundFileInfo.Name)


       Next

       For Each foundFile As String In My.Computer.FileSystem.GetFiles(video_card_dir, Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "*.MTS")

           Dim movedFileInfo As New System.IO.FileInfo(foundFile)
           psi.Arguments = "ffmpeg -i " & movedFileInfo & " -vcodec -c libx264 " & movedFileInfo & ".mp4"
           psi.ToString()

           'proc = Process.Start(psi)

           '***convert each MTS file in the new directory to MP4****
           'Writes filenames to merge.txt as " path\to\merge.txt ,               'file '  F:\path\to\               file1  .MP4         '"  so that ffmpeg can merge, then rename
           'My.Computer.FileSystem.WriteAllText(new_video_directory & "merge.txt", "file '" & movedFileInfo & ".mp4'" & vbCrLf, True)
           '>>>>need to add carriage return to text file

           'NOW CAPTURE FILENAMES OF MP4 and MERGE INTO 1 MP4 FILE

           '   merge all F:\path\to\merge.txt to merge the files & merge them
           'psi.Arguments = "ffmpeg -f concat -i " & new_video_directory & "merge.txt -c copy " & new_filename & ".mp4"
           proc = Process.Start(psi)

       Next

       '***END MERGE FILES***


       '~~~~~~~~~~~~~~~~~~~~~~~~~~~~* END - MOVE


       '***START CREATE STORAGE DIRECTORY STRUCTURE ***
       'Verify if the build # directory exists?
       If My.Computer.FileSystem.DirectoryExists(dir & Me.BUILD.Text) Then
           MessageBox.Show("The build directory exists, moving on to create subdirectories")
       Else
           Try
               'create the new directory                F:\    build \ FLIGHT #
               My.Computer.FileSystem.CreateDirectory(dir & Me.BUILD.Text)
               MessageBox.Show("The build directory" & dir & Me.BUILD.Text & " was created.")
           Catch ex As Exception
               MessageBox.Show("Doh! The build directory could not be created!  Error: " & ex.Message, "Error creating directory.", _
                               MessageBoxButtons.OK, MessageBoxIcon.Error)
           End Try

       End If

       'verify if the flight num directory exists - or create it
       If My.Computer.FileSystem.DirectoryExists(new_flightnum_directory) Then
           MessageBox.Show("The flight # folder already exists!  Check that you have the right Flight #.")
       Else
           Try
               'create the new directory                F:\  BUILD \  FLIGHT #
               My.Computer.FileSystem.CreateDirectory(new_flightnum_directory)

               'Now create new subDirectories  
               My.Computer.FileSystem.CreateDirectory(new_video_directory)

               MessageBox.Show("The new flight directory & video CAM subdirectories have been created!  The videos will be moved and files converted now which will take some time.")

           Catch ex As Exception
               MessageBox.Show("Doh! The flight num or CAM directory could not be created!  Error: " & ex.Message, "Error creating directory.", _
                               MessageBoxButtons.OK, MessageBoxIcon.Error)
           End Try
       End If


       '***END CREATE STORAGE DIRECTORY STRUCTURE ***  





       MessageBox.Show("new merged video file has been created in " & dir & Me.BUILD.Text & "\" & Me.CAM.Text)

    End Sub

    End Class

  • ffplay : improve error message in case of failure, mention filtergraph configuration

    20 juillet 2013, par Stefano Sabatini
    ffplay : improve error message in case of failure, mention filtergraph configuration
    
    • [DH] ffplay.c