FFmpeg
|
multimedia converter based on the FFmpeg libraries More...
#include "config.h"
#include <ctype.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <errno.h>
#include <limits.h>
#include "libavformat/avformat.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
#include "libavutil/opt.h"
#include "libavutil/channel_layout.h"
#include "libavutil/parseutils.h"
#include "libavutil/samplefmt.h"
#include "libavutil/colorspace.h"
#include "libavutil/fifo.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "libavutil/avstring.h"
#include "libavutil/libm.h"
#include "libavutil/imgutils.h"
#include "libavutil/timestamp.h"
#include "libavutil/bprint.h"
#include "libavutil/time.h"
#include "libavformat/os_support.h"
#include "libavformat/ffm.h"
#include "libavfilter/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/avfiltergraph.h"
#include "libavfilter/buffersrc.h"
#include "libavfilter/buffersink.h"
#include "ffmpeg.h"
#include "cmdutils.h"
#include "libavutil/avassert.h"
Go to the source code of this file.
Macros | |
#define | DEFAULT_PASS_LOGFILENAME_PREFIX "ffmpeg2pass" |
Variables | |
const char | program_name [] = "ffmpeg" |
program name, defined by the program for show_version(). | |
const int | program_birth_year = 2000 |
program birth year, defined by the program for show_banner() | |
static FILE * | vstats_file |
static int | run_as_daemon = 0 |
static int64_t | video_size = 0 |
static int64_t | audio_size = 0 |
static int64_t | subtitle_size = 0 |
static int64_t | extra_size = 0 |
static int | nb_frames_dup = 0 |
static int | nb_frames_drop = 0 |
static int | current_time |
AVIOContext * | progress_avio = NULL |
static uint8_t * | subtitle_out |
InputStream ** | input_streams = NULL |
int | nb_input_streams = 0 |
InputFile ** | input_files = NULL |
int | nb_input_files = 0 |
OutputStream ** | output_streams = NULL |
int | nb_output_streams = 0 |
OutputFile ** | output_files = NULL |
int | nb_output_files = 0 |
FilterGraph ** | filtergraphs |
int | nb_filtergraphs |
static volatile int | received_sigterm = 0 |
static volatile int | received_nb_signals = 0 |
const AVIOInterruptCB | int_cb = { decode_interrupt_cb, NULL } |
multimedia converter based on the FFmpeg libraries
Definition in file ffmpeg.c.
#define DEFAULT_PASS_LOGFILENAME_PREFIX "ffmpeg2pass" |
Definition at line 133 of file ffmpeg.c.
Referenced by transcode_init().
|
static |
Definition at line 963 of file ffmpeg.c.
Referenced by do_video_out(), and flush_encoders().
|
static |
Definition at line 3125 of file ffmpeg.c.
Referenced by main(), and update_benchmark().
Referenced by exit_program(), and transcode().
|
static |
Definition at line 165 of file ffmpeg.c.
Referenced by sub2video_update().
|
static |
Definition at line 194 of file ffmpeg.c.
Referenced by sub2video_heartbeat(), and sub2video_update().
|
static |
Definition at line 208 of file ffmpeg.c.
Referenced by sub2video_heartbeat(), and transcode_subtitles().
|
static |
Definition at line 239 of file ffmpeg.c.
Referenced by process_input().
|
static |
Definition at line 268 of file ffmpeg.c.
Referenced by transcode_subtitles().
Definition at line 278 of file ffmpeg.c.
Referenced by assert_file_overwrite(), sigterm_handler(), term_init(), and transcode().
|
static |
Definition at line 291 of file ffmpeg.c.
Referenced by term_init().
Definition at line 300 of file ffmpeg.c.
Referenced by assert_file_overwrite(), and main().
|
static |
Definition at line 338 of file ffmpeg.c.
Referenced by check_keyboard_interaction().
void assert_avoptions | ( | AVDictionary * | m | ) |
Definition at line 482 of file ffmpeg.c.
Referenced by init_input_stream(), open_input_file(), and transcode_init().
Definition at line 491 of file ffmpeg.c.
Referenced by init_input_stream(), and transcode_init().
|
static |
Definition at line 496 of file ffmpeg.c.
Referenced by decode_audio(), decode_video(), do_audio_out(), do_video_out(), and flush_encoders().
|
static |
Definition at line 513 of file ffmpeg.c.
Referenced by do_audio_out(), do_video_out(), and flush_encoders().
|
static |
Definition at line 600 of file ffmpeg.c.
Referenced by check_recording_time(), do_streamcopy(), need_output(), process_input(), and transcode_from_filter().
|
static |
Definition at line 611 of file ffmpeg.c.
Referenced by do_audio_out(), do_subtitle_out(), and do_video_out().
|
static |
Definition at line 624 of file ffmpeg.c.
Referenced by reap_filters().
|
static |
Definition at line 672 of file ffmpeg.c.
Referenced by decode_video().
|
static |
Definition at line 713 of file ffmpeg.c.
Referenced by transcode_subtitles().
|
static |
Definition at line 784 of file ffmpeg.c.
Referenced by reap_filters().
|
static |
Definition at line 958 of file ffmpeg.c.
Referenced by do_video_stats(), main(), print_report(), and run_psnr().
|
static |
Get and encode new output from any of the filtergraphs, without causing activity.
Definition at line 1005 of file ffmpeg.c.
Referenced by transcode_from_filter(), and transcode_step().
|
static |
Definition at line 1083 of file ffmpeg.c.
Referenced by transcode().
Definition at line 1257 of file ffmpeg.c.
Referenced by transcode().
|
static |
Definition at line 1338 of file ffmpeg.c.
Referenced by output_packet(), and transcode_subtitles().
|
static |
Definition at line 1352 of file ffmpeg.c.
Referenced by output_packet().
|
static |
Definition at line 1433 of file ffmpeg.c.
Referenced by decode_audio(), decode_video(), output_packet(), and transcode_subtitles().
int guess_input_channel_layout | ( | InputStream * | ist | ) |
Definition at line 1443 of file ffmpeg.c.
Referenced by add_input_streams(), and decode_audio().
|
static |
Definition at line 1461 of file ffmpeg.c.
Referenced by output_packet().
|
static |
Definition at line 1581 of file ffmpeg.c.
Referenced by output_packet().
|
static |
Definition at line 1692 of file ffmpeg.c.
Referenced by output_packet().
|
static |
Definition at line 1740 of file ffmpeg.c.
Referenced by process_input(), and transcode().
Definition at line 1875 of file ffmpeg.c.
Referenced by transcode_init().
|
static |
Definition at line 1892 of file ffmpeg.c.
Referenced by transcode_init().
|
static |
Definition at line 1931 of file ffmpeg.c.
Referenced by transcode_init().
|
static |
Definition at line 1938 of file ffmpeg.c.
Referenced by transcode_init().
Definition at line 1969 of file ffmpeg.c.
Referenced by process_input().
|
static |
Definition at line 1984 of file ffmpeg.c.
Referenced by transcode().
|
static |
Definition at line 2448 of file ffmpeg.c.
Referenced by transcode().
|
static |
Select the output stream to process.
Definition at line 2478 of file ffmpeg.c.
Referenced by transcode_step().
|
static |
Definition at line 2496 of file ffmpeg.c.
Referenced by transcode().
Definition at line 2699 of file ffmpeg.c.
Referenced by process_input().
|
static |
Definition at line 2708 of file ffmpeg.c.
Referenced by transcode_step().
Definition at line 2717 of file ffmpeg.c.
Referenced by process_input(), and transcode_step().
|
static |
Definition at line 2733 of file ffmpeg.c.
Referenced by transcode_step().
|
static |
Perform a step of transcoding for the specified filter graph.
[in] | graph | filter graph to consider |
[out] | best_ist | input stream where a frame would allow to continue |
Definition at line 2919 of file ffmpeg.c.
Referenced by transcode_step().
|
static |
Run a single step of transcoding.
Definition at line 2965 of file ffmpeg.c.
Referenced by transcode().
|
static |
|
static |
const char program_name[] = "ffmpeg" |
program name, defined by the program for show_version().
const int program_birth_year = 2000 |
program birth year, defined by the program for show_banner()
|
static |
Definition at line 110 of file ffmpeg.c.
Referenced by do_video_stats(), and exit_program().
|
static |
Definition at line 115 of file ffmpeg.c.
Referenced by check_keyboard_interaction(), main(), and term_init().
|
static |
Definition at line 116 of file ffmpeg.c.
Referenced by cdxl_read_packet(), decode_0(), decode_frame(), do_streamcopy(), do_video_out(), do_video_stats(), flush_encoders(), print_report(), and rpl_read_header().
|
static |
Definition at line 117 of file ffmpeg.c.
Referenced by bfi_read_packet(), bmv_read_packet(), cdxl_read_packet(), do_audio_out(), do_streamcopy(), flush_encoders(), print_report(), read_packet(), rl2_read_header(), rpl_read_header(), and sdl_audio_callback().
|
static |
Definition at line 118 of file ffmpeg.c.
Referenced by do_streamcopy(), and print_report().
|
static |
Definition at line 119 of file ffmpeg.c.
Referenced by ape_read_packet(), asf_write_header1(), print_report(), and transcode_init().
|
static |
Definition at line 120 of file ffmpeg.c.
Referenced by do_video_out(), and print_report().
|
static |
Definition at line 121 of file ffmpeg.c.
Referenced by do_video_out(), and print_report().
|
static |
Definition at line 123 of file ffmpeg.c.
Referenced by main(), and update_benchmark().
AVIOContext* progress_avio = NULL |
Definition at line 124 of file ffmpeg.c.
Referenced by opt_progress().
|
static |
Definition at line 126 of file ffmpeg.c.
Referenced by do_subtitle_out(), and exit_program().
InputStream** input_streams = NULL |
Definition at line 135 of file ffmpeg.c.
Referenced by add_input_streams(), init_input_filter(), new_audio_stream(), new_output_stream(), and open_output_file().
int nb_input_streams = 0 |
Definition at line 136 of file ffmpeg.c.
Referenced by add_input_streams(), check_keyboard_interaction(), exit_program(), init_input_filter(), open_input_file(), open_output_file(), transcode(), and transcode_init().
Definition at line 137 of file ffmpeg.c.
Referenced by init_input_filter(), open_input_file(), open_output_file(), opt_map(), opt_map_channel(), opt_target(), and sub2video_prepare().
int nb_input_files = 0 |
Definition at line 138 of file ffmpeg.c.
Referenced by add_input_streams(), dump_attachment(), exit_program(), init_input_filter(), open_input_file(), open_output_file(), opt_map(), opt_map_channel(), opt_target(), reset_eagain(), and transcode_init().
OutputStream** output_streams = NULL |
Definition at line 140 of file ffmpeg.c.
Referenced by new_output_stream(), and open_output_file().
int nb_output_streams = 0 |
Definition at line 141 of file ffmpeg.c.
Referenced by check_keyboard_interaction(), choose_output(), exit_program(), flush_encoders(), got_eagain(), need_output(), new_output_stream(), open_output_file(), output_packet(), print_report(), process_input(), reap_filters(), reset_eagain(), transcode(), transcode_init(), and transcode_subtitles().
OutputFile** output_files = NULL |
Definition at line 142 of file ffmpeg.c.
Referenced by open_output_file().
int nb_output_files = 0 |
Definition at line 143 of file ffmpeg.c.
Referenced by exit_program(), main(), new_output_stream(), open_output_file(), print_sdp(), transcode(), and transcode_init().
FilterGraph** filtergraphs |
Definition at line 145 of file ffmpeg.c.
Referenced by configure_complex_filters(), DEF_CHOOSE_FORMAT(), open_output_file(), and opt_filter_complex().
int nb_filtergraphs |
Definition at line 146 of file ffmpeg.c.
Referenced by check_keyboard_interaction(), configure_complex_filters(), decode_audio(), decode_video(), DEF_CHOOSE_FORMAT(), exit_program(), open_output_file(), opt_filter_complex(), and transcode_init().
|
static |
Definition at line 287 of file ffmpeg.c.
Referenced by exit_program(), sigterm_handler(), and transcode().
|
static |
Definition at line 288 of file ffmpeg.c.
Referenced by check_keyboard_interaction(), decode_interrupt_cb(), main(), and sigterm_handler().
const AVIOInterruptCB int_cb = { decode_interrupt_cb, NULL } |
Definition at line 398 of file ffmpeg.c.
Referenced by dump_attachment(), get_preset_file_2(), open_input_file(), open_output_file(), opt_progress(), read_ffserver_streams(), transcode_init(), and url_alloc_for_protocol().