day11_homework_need2submit

Homework

编写—个将ts或mp4中视频文件解码到yuv的程序
yuv数据可以使用如下命令播放:
ffplay -i output yuv-pix_fmt yuv420p-s 1024x436
要求:

  1. ffmpeg解析到avpacket并打印出pts和dts字段
  2. 完成解码到avframe并打印任意字段
  3. 完成yuv数据保存
// teminal orders on bash
cd examples     
gcc -o demuxing_decoding demuxing_decoding.c $(pkg-config --cflags --libs libavformat libavcodec libavutil libswscale)

export PKG_CONFIG_PATH=/home/ubuntu2204/workspace/ffmpeg/build/lib/pkgconfig:$PKG_CONFIG_PATH     
//solve not find head file

./demuxing_decoding ubuntu22.04.mp4 a.yuv a.avi 

/* read frames from the file */
    // while (av_read_frame(fmt_ctx, pkt) >= 0) {
    //     // check if the packet belongs to a stream we are interested in, otherwise
    //     // skip it
    //     if (pkt->stream_index == video_stream_idx)
    //         ret = decode_packet(video_dec_ctx, pkt);
    //     else if (pkt->stream_index == audio_stream_idx)
    //         ret = decode_packet(audio_dec_ctx, pkt);
    //     av_packet_unref(pkt);
    //     if (ret < 0)
    //         break;
    // }
    while (av_read_frame(fmt_ctx, pkt) >= 0) {
    // 打印PTS和DTS信息
    if (pkt->stream_index == video_stream_idx || pkt->stream_index == audio_stream_idx) {
        AVRational *time_base = &fmt_ctx->streams[pkt->stream_index]->time_base;
        printf("PTS: %s, DTS: %s, duration: %d, stream index: %d\n",
               av_ts2timestr(pkt->pts, time_base),
               av_ts2timestr(pkt->dts, time_base),
               pkt->duration,
               pkt->stream_index);
    }

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

相关推荐

  1. 假期day9(2024/2/14)

    2024-07-09 22:58:04       47 阅读
  2. 2024/4/12 网络编程day2

    2024-07-09 22:58:04       33 阅读
  3. dao5的Sia Khazamipour确认出席Hack.Summit() 2024

    2024-07-09 22:58:04       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 22:58:04       50 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 22:58:04       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 22:58:04       43 阅读
  4. Python语言-面向对象

    2024-07-09 22:58:04       54 阅读

热门阅读

  1. k8s-第九节-命名空间

    2024-07-09 22:58:04       21 阅读
  2. 【Mybatis面试题】

    2024-07-09 22:58:04       21 阅读
  3. 环境快照:精通Conda中的conda env export命令

    2024-07-09 22:58:04       19 阅读
  4. Linux下网络编程-简易poll服务器和客户端

    2024-07-09 22:58:04       20 阅读
  5. ClickHouse表引擎概述

    2024-07-09 22:58:04       18 阅读
  6. svn常用命令

    2024-07-09 22:58:04       21 阅读
  7. 面向对象——继承、封装、多态

    2024-07-09 22:58:04       17 阅读
  8. CoppeliaSim的简单教程

    2024-07-09 22:58:04       21 阅读