Recherche avancée

Médias (0)

Mot : - Tags -/interaction

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

Autres articles (33)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

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

Sur d’autres sites (4971)

  • Using ffmpeg dll's from a windows 32 bit app

    8 avril 2020, par Derek

    I am trying to use ffmpeg via dll calls from a win32 app (compiled in clarion)

    



    I transcoded the example file encode_video.c and that worked 100% however I was left with a .h264 file instead of a .mp4 file.

    



    I then transcoded the example muxing.c however it crashes and I am at a loss for options.

    



    Any help would be most appreciated.

    



    Encode_mp4 ROUTINE
! avformat_alloc_output_context2 *******************************************************************************************
file_name = 'myvideo.mp4'
! Try guess format from filename
if CHECK_STACK then ds_SaveStack .
Result = avformat_alloc_output_context2(ThisPtrPtr, 0, NullCString, file_name);
if CHECK_STACK then ds_TestStack .
if Result < 0
    ds_OutputDebugString('avformat_alloc_output_context2 Try guess format failed, try mpeg', TRUE)
    CString1 = 'mpeg'
    if CHECK_STACK then ds_SaveStack .
    Result = avformat_alloc_output_context2(ThisPtrPtr, 0, CString1, file_name);
    if CHECK_STACK then ds_TestStack .
    if Result < 0
        ds_OutputDebugString('avformat_alloc_output_context2 failed', TRUE)
        stop('Could not allocate output format context')
        exit
    end
end
formater_ctxt &= (ThisPtrPtr)
!ds_OutputDebugString('formater_ctxt=' & address(formater_ctxt), TRUE)
assert(not(formater_ctxt &= NULL), 'Check AVFormatContext formater_ctxt')
do VerifyFormatContext
assert(formater_ctxt.oformat > 0, 'Check AVFormatContext formater_ctxt.oformat')
formater &= (formater_ctxt.oformat)
do VerifyFormat
ds_OutputDebugString('avformat_alloc_output_context2 OK', TRUE)

! avcodec_find_encoder *******************************************************************************************
if CHECK_STACK then ds_SaveStack .
encoder &= avcodec_find_encoder(formater.video_codec)
if CHECK_STACK then ds_TestStack .
if encoder &= NULL
    ds_OutputDebugString('avcodec_find_encoder failed', TRUE)
    stop('Could not find encoder')
    exit
end
do VerifyEncoder
ds_OutputDebugString('avcodec_find_encoder OK', TRUE)

! avformat_new_stream *******************************************************************************************
if CHECK_STACK then ds_SaveStack .
stream &= avformat_new_stream(formater_ctxt, encoder)
if CHECK_STACK then ds_TestStack .
if stream &= NULL 
    ds_OutputDebugString('avformat_new_stream failed', TRUE)
    stop('Could not create new stream')
    exit
end
do VerifyStream
stream.id = formater_ctxt.nb_streams-1
ds_OutputDebugString('avformat_new_stream OK', TRUE)

! avcodec_alloc_context3 *******************************************************************************************
if CHECK_STACK then ds_SaveStack .
encoder_ctxt &= avcodec_alloc_context3(encoder)
if CHECK_STACK then ds_TestStack .
if encoder_ctxt &= NULL 
    ds_OutputDebugString('avcodec_alloc_context3 failed', TRUE)
    stop('Could not allocate video codec context')
    exit
end
do VerifyEncoderContext
ds_OutputDebugString('avcodec_alloc_context3 OK', TRUE)

! Video settings *******************************************************************************************
do InitVideoSettings

assert(AV_CODEC_FLAG_GLOBAL_HEADER = bshift(1, 22), 'Check AV_CODEC_FLAG_GLOBAL_HEADER')
if band(formater.flags, AVFMT_GLOBALHEADER)
   encoder_ctxt.flags = bor(encoder_ctxt.flags, AV_CODEC_FLAG_GLOBAL_HEADER) !avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
end

! avcodec_open2 *******************************************************************************************
if CHECK_STACK then ds_SaveStack .
Result = avcodec_open2(encoder_ctxt, encoder, 0)
if CHECK_STACK then ds_TestStack .
if Result < 0
    ds_OutputDebugString('avcodec_open2 failed.  Result=' & Result, TRUE)
    stop('Could not open codec')
    exit
end
ds_OutputDebugString('avcodec_open2 OK', TRUE)

! av_frame_alloc *******************************************************************************************
if CHECK_STACK then ds_SaveStack .
frame &= av_frame_alloc();
if CHECK_STACK then ds_TestStack .
if frame &= NULL
    ds_OutputDebugString('av_frame_alloc failed', TRUE)
    stop('Could not allocate video frame')
    exit
end
do VerifyFrame
frame.format = encoder_ctxt.pix_fmt
frame.width = encoder_ctxt.width
frame.height = encoder_ctxt.height
ds_OutputDebugString('av_frame_alloc OK', TRUE)

! av_frame_get_buffer *******************************************************************************************
if CHECK_STACK then ds_SaveStack .
Result = av_frame_get_buffer(frame, 32)
if CHECK_STACK then ds_TestStack .
if Result < 0
    ds_OutputDebugString('av_frame_get_buffer failed', TRUE)
    stop('Could not allocate video frame buffer Error = ' & Result)
    exit
end
do VerifyFrameBuffer
ds_OutputDebugString('av_frame_get_buffer OK', TRUE)

!frame->data offset=0  Array[8] of *int8_t
UseData0 &= (frame.data[1])
UseData1 &= (frame.data[2])
UseData2 &= (frame.data[3])

if CHECK_STACK then ds_SaveStack .
Result = avcodec_parameters_from_context(stream.codecpar, encoder_ctxt);
if CHECK_STACK then ds_TestStack .
if Result < 0
    ds_OutputDebugString('avcodec_parameters_from_context failed', TRUE)
    stop('Could not initialize stream parameters')
    exit
end
ds_OutputDebugString('avcodec_parameters_from_context OK', TRUE)

! av_dump_format *******************************************************************************************
ds_OutputDebugString('before call to av_dump_format  file_name=' & file_name, TRUE)
av_dump_format(formater_ctxt, 0, file_name, 1)


    



    I get a crash at last line - call to av_dump_format()

    



    If I comment this code then I get a crash on the very next lib call :

    



        ! avio_open *******************************************************************************************
if not(band(formater.flags, AVFMT_NOFILE)) 
    ds_OutputDebugString('before call to avio_open  file_name=' & file_name, TRUE)
    ThisInt &= address(formater_ctxt.pb)
    Result = avio_open(ThisInt, file_name, AVIO_FLAG_WRITE)


    



    Strangely if I comment the setup call to av_log_set_callback(my_log_callback) then the crash moves down to the next lib call : avformat_write_header

    


  • avcodec/h264_mp4toannexb_bsf : fix missing PS before IDR frames

    19 mai 2023, par Zhao Zhili
    avcodec/h264_mp4toannexb_bsf : fix missing PS before IDR frames
    

    If there is a single group of SPS/PPS before an IDR frame, but no
    SPS/PPS after that, we will miss the chance to reset
    idr_sps_seen/idr_pps_seen. No SPS/PPS are inserted afterwards.

    This patch saves in-band SPS/PPS and insert them before IDR frames
    when necessary.

    Signed-off-by : Zhao Zhili <zhilizhao@tencent.com>

    • [DH] libavcodec/h264_mp4toannexb_bsf.c
    • [DH] tests/fate/h264.mak
  • avformat/matroskadec : Fix demuxing ProRes

    28 septembre 2019, par Andreas Rheinhardt
    avformat/matroskadec : Fix demuxing ProRes
    

    The structure of a ProRes frame in mov/mp4 is that of a typical atom :
    First a 32 bit BE size field, then a tag detailling the content. Said
    size field includes the eight bytes of the atom header.

    This header is actually redundant, as the size of the atom is already
    known from the containing atom. It is therefore stripped away when muxed
    into Matroska and so the Matroska demuxer has to recreate upon demuxing.
    But it did not account for the fact that the size field includes the
    size of the header and this can lead to problems when a decoder uses the
    in-band size field.

    Fixes ticket #8210.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
    Signed-off-by : James Almer <jamrial@gmail.com>

    • [DH] libavformat/matroskadec.c