• 大小: 36.37MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-03
  • 语言: C/C++
  • 标签: ffmpeg  h264  h265  mp3  

资源简介

c++使用ffmpeg把h264/h265和mp3写入mp4文件,内含ffmpeg库、示例demo、视频素材。

资源截图

代码片段和文件信息

/*
 * Copyright (c) 2014 Lukasz Marek
 *
 * Permission is hereby granted free of charge to any person obtaining a copy
 * of this software and associated documentation files (the “Software“) to deal
 * in the Software without restriction including without limitation the rights
 * to use copy modify merge publish distribute sublicense and/or sell
 * copies of the Software and to permit persons to whom the Software is
 * furnished to do so subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED “AS IS“ WITHOUT WARRANTY OF ANY KIND EXPRESS OR
 * IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM DAMAGES OR OTHER
 * LIABILITY WHETHER IN AN ACTION OF CONTRACT TORT OR OTHERWISE ARISING FROM
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

#include 
#include 
#include 

static const char *type_string(int type)
{
    switch (type) {
    case AVIO_ENTRY_DIRECTORY:
        return “
“;
    case AVIO_ENTRY_FILE:
        return ““;
    case AVIO_ENTRY_BLOCK_DEVICE:
        return ““;
    case AVIO_ENTRY_CHARACTER_DEVICE:
        return ““;
    case AVIO_ENTRY_NAMED_PIPE:
        return ““;
    case AVIO_ENTRY_SYMBOLIC_link:
        return “nk>“;
    case AVIO_ENTRY_SOCKET:
        return ““;
    case AVIO_ENTRY_SERVER:
        return ““;
    case AVIO_ENTRY_SHARE:
        return ““;
    case AVIO_ENTRY_WORKGROUP:
        return ““;
    case AVIO_ENTRY_UNKNOWN:
    default:
        break;
    }
    return ““;
}

static int list_op(const char *input_dir)
{
    AVIODirEntry *entry = NULL;
    AVIODirContext *ctx = NULL;
    int cnt ret;
    char filemode[4] uid_and_gid[20];

    if ((ret = avio_open_dir(&ctx input_dir NULL)) < 0) {
        av_log(NULL AV_LOG_ERROR “Cannot open directory: %s.\n“ av_err2str(ret));
        goto fail;
    }

    cnt = 0;
    for (;;) {
        if ((ret = avio_read_dir(ctx &entry)) < 0) {
            av_log(NULL AV_LOG_ERROR “Cannot list directory: %s.\n“ av_err2str(ret));
            goto fail;
        }
        if (!entry)
            break;
        if (entry->filemode == -1) {
            snprintf(filemode 4 “???“);
        } else {
            snprintf(filemode 4 “%3“PRIo64 entry->filemode);
        }
        snprintf(uid_and_gid 20 “%“PRId64“(%“PRId64“)“ entry->user_id entry->group_id);
        if (cnt == 0)
            av_log(NULL AV_LOG_INFO “%-9s %12s %30s %10s %s %16s %16s %16s\n“
                   “TYPE“ “SIZE“ “NAME“ “UID(GID)“ “UGO“ “MODIFIED“
                   “ACCE

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    4915591  2016-09-06 15:31  ffmpegMp4\AvPktAIn.mp3

     文件    4813052  2016-06-30 03:21  ffmpegMp4\AvPktVIn.264

     文件     686760  2016-08-27 10:47  ffmpegMp4\AvPktVIn.265

     文件   25633792  2016-09-05 23:11  ffmpegMp4\Debug\avcodec-57.dll

     文件    4962816  2016-09-05 23:11  ffmpegMp4\Debug\avformat-57.dll

     文件     564224  2016-09-05 23:11  ffmpegMp4\Debug\avutil-55.dll

     文件      44544  2016-09-06 17:33  ffmpegMp4\Debug\ffmpegMp4.exe

     文件     470244  2016-09-06 17:33  ffmpegMp4\Debug\ffmpegMp4.ilk

     文件     830464  2016-09-06 17:33  ffmpegMp4\Debug\ffmpegMp4.pdb

     文件     258176  2016-08-26 17:46  ffmpegMp4\Debug\out.264

     文件     292352  2016-09-05 23:11  ffmpegMp4\Debug\swresample-2.dll

     文件      41559  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\developer.html

     文件       5642  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\avio_dir_cmd.c

     文件       4060  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\avio_reading.c

     文件      19624  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\decoding_encoding.c

     文件      14714  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\demuxing_decoding.c

     文件       5747  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\extract_mvs.c

     文件      10058  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\filtering_audio.c

     文件       9180  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\filtering_video.c

     文件      11854  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\filter_audio.c

     文件       5213  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\http_multiclient.c

     文件       1758  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\Makefile

     文件       1941  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\metadata.c

     文件      21668  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\muxing.c

     文件      14366  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\qsvdec.c

     文件        888  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\README

     文件       5631  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\remuxing.c

     文件       8005  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\resampling_audio.c

     文件       5028  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\scaling_video.c

     文件      29409  2016-09-05 23:11  ffmpegMp4\ffmpegLib\doc\examples\transcode_aac.c

............此处省略267个文件信息

评论

共有 条评论