ffmpeg can not mux pcm_alaw/pcm_mulaw into MP4. On Thu, Nov 21, 2024 at 10:41 AM d.gorde...@ngslab.ru <d.gorde...@ngslab.ru> wrote:
> Hello. > > I'm trying to make a mp4 file from a video/audio stream. When audio is > AAC it works fine. But I cannot pack G711U audio. > > |av_register_all(); avcodec_register_all(); > av_log_set_callback(nullptr); av_format_context_ = > avformat_alloc_context(); if (!av_format_context_) { std::string > error_msg = "Failed to allocate avformat context"; > log_->Error(error_msg); throw std::runtime_error(error_msg.c_str()); } > av_format_context_->oformat = av_guess_format("mp4", filename.c_str(), > NULL); strcpy(av_format_context_->filename, filename.c_str()); AVCodec* > codec = avcodec_find_encoder(AV_CODEC_ID_PCM_MULAW); > av_format_context_->oformat->audio_codec = codec->id; audio_stream_ = > avformat_new_stream(av_format_context_, codec); if (audio_stream_ == > nullptr) { log_->Error("Can not create audiostream."); return false; } > AVCodecContext& codec_context = *audio_stream_->codec; if > (avcodec_copy_context(audio_stream_->codec, > av_format_context_->streams[1]->codec) != 0) { log_->Error("Failed to > Copy Context"); return false; } audio_stream_->time_base = { 1, > codec_context.sample_rate }; if (av_format_context_->oformat->flags & > AVFMT_GLOBALHEADER) codec_context.flags |= AV_CODEC_FLAG_GLOBAL_HEADER; > log_->Info("Init output {}", filename); > av_dump_format(av_format_context_, 0, filename.c_str(), 1); int ret = > avio_open(&av_format_context_->pb, filename.c_str(), AVIO_FLAG_WRITE); > if (ret < 0) { log_->Error("Can not open file for writing."); return > false; } ret = avformat_write_header(av_format_context_, NULL); if (ret > < 0) { log_->Error("Can not write header."); return false; } | > > Here avformat_write_header() returns -22. What's wrong here? Which data > should I supply to this function? > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".