Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (43)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • 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

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (8158)

  • Recursively Convert FLAC to MP3 Keeping All Metadata and Located in Same Directory

    6 juin 2020, par charlesstricklin

    I've got ffpeg installed on my Windows 10 PC and I'd like to recursively convert .flac music into .mp3 within the same directory (by that I mean the .flac file and the .mpg file end up in the same folder) and I'll be the first to admit I'm just a beginner to both ffmpeg and the CLI, so I'm a newbie there.

    



    I've been looking at Recursively Converting FLAC to MP3 Using FFmpeg While Maintaining Metadata and Directory Structure on Windows as a possible answer to my question, but I do not want to copy from one volume to another.

    



    Just to avoid confusion, my highest directory is C :\Users\User\Downloads\Music\ and I'd like to convert several artist/band's tracks from .flac to .mp3 within the same directory. C :\Users\User\Downloads\Music\1st Artist\1st CD\1st Track.flac would be converted to C :\Users\User\Downloads\Music\1st Artist\1st CD\1st Track.mp3, C :\Users\User\Downloads\Music\2nd Artist\1st CD\1st Track.flac would be converted to C :\Users\User\Downloads\Music\2nd Artist\1st CD\1st Track.mp3 and so on.

    



    Would someone clue me in on the best way you know of to accomplish that from the CLI, please ?

    


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

    &#xA;&#xA;

    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.

    &#xA;&#xA;

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

    &#xA;&#xA;

    Any help would be most appreciated.

    &#xA;&#xA;

    Encode_mp4 ROUTINE&#xA;! avformat_alloc_output_context2 *******************************************************************************************&#xA;file_name = &#x27;myvideo.mp4&#x27;&#xA;! Try guess format from filename&#xA;if CHECK_STACK then ds_SaveStack .&#xA;Result = avformat_alloc_output_context2(ThisPtrPtr, 0, NullCString, file_name);&#xA;if CHECK_STACK then ds_TestStack .&#xA;if Result &lt; 0&#xA;    ds_OutputDebugString(&#x27;avformat_alloc_output_context2 Try guess format failed, try mpeg&#x27;, TRUE)&#xA;    CString1 = &#x27;mpeg&#x27;&#xA;    if CHECK_STACK then ds_SaveStack .&#xA;    Result = avformat_alloc_output_context2(ThisPtrPtr, 0, CString1, file_name);&#xA;    if CHECK_STACK then ds_TestStack .&#xA;    if Result &lt; 0&#xA;        ds_OutputDebugString(&#x27;avformat_alloc_output_context2 failed&#x27;, TRUE)&#xA;        stop(&#x27;Could not allocate output format context&#x27;)&#xA;        exit&#xA;    end&#xA;end&#xA;formater_ctxt &amp;= (ThisPtrPtr)&#xA;!ds_OutputDebugString(&#x27;formater_ctxt=&#x27; &amp; address(formater_ctxt), TRUE)&#xA;assert(not(formater_ctxt &amp;= NULL), &#x27;Check AVFormatContext formater_ctxt&#x27;)&#xA;do VerifyFormatContext&#xA;assert(formater_ctxt.oformat > 0, &#x27;Check AVFormatContext formater_ctxt.oformat&#x27;)&#xA;formater &amp;= (formater_ctxt.oformat)&#xA;do VerifyFormat&#xA;ds_OutputDebugString(&#x27;avformat_alloc_output_context2 OK&#x27;, TRUE)&#xA;&#xA;! avcodec_find_encoder *******************************************************************************************&#xA;if CHECK_STACK then ds_SaveStack .&#xA;encoder &amp;= avcodec_find_encoder(formater.video_codec)&#xA;if CHECK_STACK then ds_TestStack .&#xA;if encoder &amp;= NULL&#xA;    ds_OutputDebugString(&#x27;avcodec_find_encoder failed&#x27;, TRUE)&#xA;    stop(&#x27;Could not find encoder&#x27;)&#xA;    exit&#xA;end&#xA;do VerifyEncoder&#xA;ds_OutputDebugString(&#x27;avcodec_find_encoder OK&#x27;, TRUE)&#xA;&#xA;! avformat_new_stream *******************************************************************************************&#xA;if CHECK_STACK then ds_SaveStack .&#xA;stream &amp;= avformat_new_stream(formater_ctxt, encoder)&#xA;if CHECK_STACK then ds_TestStack .&#xA;if stream &amp;= NULL &#xA;    ds_OutputDebugString(&#x27;avformat_new_stream failed&#x27;, TRUE)&#xA;    stop(&#x27;Could not create new stream&#x27;)&#xA;    exit&#xA;end&#xA;do VerifyStream&#xA;stream.id = formater_ctxt.nb_streams-1&#xA;ds_OutputDebugString(&#x27;avformat_new_stream OK&#x27;, TRUE)&#xA;&#xA;! avcodec_alloc_context3 *******************************************************************************************&#xA;if CHECK_STACK then ds_SaveStack .&#xA;encoder_ctxt &amp;= avcodec_alloc_context3(encoder)&#xA;if CHECK_STACK then ds_TestStack .&#xA;if encoder_ctxt &amp;= NULL &#xA;    ds_OutputDebugString(&#x27;avcodec_alloc_context3 failed&#x27;, TRUE)&#xA;    stop(&#x27;Could not allocate video codec context&#x27;)&#xA;    exit&#xA;end&#xA;do VerifyEncoderContext&#xA;ds_OutputDebugString(&#x27;avcodec_alloc_context3 OK&#x27;, TRUE)&#xA;&#xA;! Video settings *******************************************************************************************&#xA;do InitVideoSettings&#xA;&#xA;assert(AV_CODEC_FLAG_GLOBAL_HEADER = bshift(1, 22), &#x27;Check AV_CODEC_FLAG_GLOBAL_HEADER&#x27;)&#xA;if band(formater.flags, AVFMT_GLOBALHEADER)&#xA;   encoder_ctxt.flags = bor(encoder_ctxt.flags, AV_CODEC_FLAG_GLOBAL_HEADER) !avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;&#xA;end&#xA;&#xA;! avcodec_open2 *******************************************************************************************&#xA;if CHECK_STACK then ds_SaveStack .&#xA;Result = avcodec_open2(encoder_ctxt, encoder, 0)&#xA;if CHECK_STACK then ds_TestStack .&#xA;if Result &lt; 0&#xA;    ds_OutputDebugString(&#x27;avcodec_open2 failed.  Result=&#x27; &amp; Result, TRUE)&#xA;    stop(&#x27;Could not open codec&#x27;)&#xA;    exit&#xA;end&#xA;ds_OutputDebugString(&#x27;avcodec_open2 OK&#x27;, TRUE)&#xA;&#xA;! av_frame_alloc *******************************************************************************************&#xA;if CHECK_STACK then ds_SaveStack .&#xA;frame &amp;= av_frame_alloc();&#xA;if CHECK_STACK then ds_TestStack .&#xA;if frame &amp;= NULL&#xA;    ds_OutputDebugString(&#x27;av_frame_alloc failed&#x27;, TRUE)&#xA;    stop(&#x27;Could not allocate video frame&#x27;)&#xA;    exit&#xA;end&#xA;do VerifyFrame&#xA;frame.format = encoder_ctxt.pix_fmt&#xA;frame.width = encoder_ctxt.width&#xA;frame.height = encoder_ctxt.height&#xA;ds_OutputDebugString(&#x27;av_frame_alloc OK&#x27;, TRUE)&#xA;&#xA;! av_frame_get_buffer *******************************************************************************************&#xA;if CHECK_STACK then ds_SaveStack .&#xA;Result = av_frame_get_buffer(frame, 32)&#xA;if CHECK_STACK then ds_TestStack .&#xA;if Result &lt; 0&#xA;    ds_OutputDebugString(&#x27;av_frame_get_buffer failed&#x27;, TRUE)&#xA;    stop(&#x27;Could not allocate video frame buffer Error = &#x27; &amp; Result)&#xA;    exit&#xA;end&#xA;do VerifyFrameBuffer&#xA;ds_OutputDebugString(&#x27;av_frame_get_buffer OK&#x27;, TRUE)&#xA;&#xA;!frame->data offset=0  Array[8] of *int8_t&#xA;UseData0 &amp;= (frame.data[1])&#xA;UseData1 &amp;= (frame.data[2])&#xA;UseData2 &amp;= (frame.data[3])&#xA;&#xA;if CHECK_STACK then ds_SaveStack .&#xA;Result = avcodec_parameters_from_context(stream.codecpar, encoder_ctxt);&#xA;if CHECK_STACK then ds_TestStack .&#xA;if Result &lt; 0&#xA;    ds_OutputDebugString(&#x27;avcodec_parameters_from_context failed&#x27;, TRUE)&#xA;    stop(&#x27;Could not initialize stream parameters&#x27;)&#xA;    exit&#xA;end&#xA;ds_OutputDebugString(&#x27;avcodec_parameters_from_context OK&#x27;, TRUE)&#xA;&#xA;! av_dump_format *******************************************************************************************&#xA;ds_OutputDebugString(&#x27;before call to av_dump_format  file_name=&#x27; &amp; file_name, TRUE)&#xA;av_dump_format(formater_ctxt, 0, file_name, 1)&#xA;

    &#xA;&#xA;

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

    &#xA;&#xA;

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

    &#xA;&#xA;

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

    &#xA;&#xA;

    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

    &#xA;