1234567891011121314151617181920212223242526272829303132333435 |
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <errno.h>
- #include <libavformat/avformat.h>
- #define BOLD_GRAY "\033[1;90m"
- #define RED "\033[0;31m"
- #define WHITE "\033[0;37m"
- #define RESET "\033[0m"
- int module_08_run(const char *filename) {
- char log_msg[1024];
- AVFormatContext *fmt_ctx = NULL;
- if (avformat_open_input(&fmt_ctx, filename, NULL, NULL) < 0) {
- snprintf(log_msg, sizeof(log_msg), BOLD_GRAY " Library libavformat: " RED "Error opening file" RESET);
- printf("%s\n", log_msg);
- return 1;
- }
- if (avformat_find_stream_info(fmt_ctx, NULL) < 0) {
- snprintf(log_msg, sizeof(log_msg), BOLD_GRAY " Library libavformat: " RED "Error finding stream info" RESET);
- printf("%s\n", log_msg);
- avformat_close_input(&fmt_ctx);
- return 1;
- }
- snprintf(log_msg, sizeof(log_msg), BOLD_GRAY " Library libavformat: " WHITE "Media format: %s, Duration: %ld seconds, Streams: %d" RESET,
- fmt_ctx->iformat->name, fmt_ctx->duration / AV_TIME_BASE, fmt_ctx->nb_streams);
- printf("%s\n", log_msg);
- avformat_close_input(&fmt_ctx);
- return 0;
- }
|