27 static int usage(
const char *argv0,
int ret)
29 fprintf(stderr,
"%s [-b bytespersec] [-d duration] [-oi <options>] [-oo <options>] input_url output_url\n", argv0);
30 fprintf(stderr,
"<options>: AVOptions expressed as key=value, :-separated\n");
34 int main(
int argc,
char **argv)
37 const char *input_url =
NULL, *output_url =
NULL;
38 int64_t stream_pos = 0;
48 for (i = 1; i < argc; i++) {
49 if (!strcmp(argv[i],
"-b") && i + 1 < argc) {
50 bps = atoi(argv[i + 1]);
52 }
else if (!strcmp(argv[i],
"-d") && i + 1 < argc) {
55 }
else if (!strcmp(argv[i],
"-oi") && i + 1 < argc) {
57 fprintf(stderr,
"Cannot parse option string %s\n",
59 return usage(argv[0], 1);
62 }
else if (!strcmp(argv[i],
"-oo") && i + 1 < argc) {
64 fprintf(stderr,
"Cannot parse option string %s\n",
66 return usage(argv[0], 1);
69 }
else if (!input_url) {
71 }
else if (!output_url) {
74 return usage(argv[0], 1);
78 return usage(argv[0], 1);
83 fprintf(stderr,
"Unable to open %s: %s\n", input_url, errbuf);
90 fprintf(stderr,
"Unable to get size of %s: %s\n", input_url, errbuf);
98 fprintf(stderr,
"Unable to open %s: %s\n", output_url, errbuf);
int64_t avio_size(AVIOContext *s)
Get the filesize.
#define AVIO_FLAG_READ
read-only
#define AVIO_FLAG_WRITE
write-only
int av_usleep(unsigned usec)
Sleep for a period of time.
int main(int argc, char **argv)
static int64_t start_time
int avformat_network_init(void)
Do global initialization of network components.
void avio_write(AVIOContext *s, const unsigned char *buf, int size)
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf.
int avio_close(AVIOContext *s)
Close the resource accessed by the AVIOContext s and free it.
void av_dict_free(AVDictionary **pm)
Free all the memory allocated for an AVDictionary struct and all keys and values. ...
int void avio_flush(AVIOContext *s)
Force flushing of buffered data.
#define AV_TIME_BASE
Internal time base represented as integer.
int av_dict_parse_string(AVDictionary **pm, const char *str, const char *key_val_sep, const char *pairs_sep, int flags)
Parse the key/value pairs list and add the parsed entries to a dictionary.
int avformat_network_deinit(void)
Undo the initialization done by avformat_network_init.
int avio_open2(AVIOContext **s, const char *url, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options)
Create and initialize a AVIOContext for accessing the resource indicated by url.
static int usage(const char *argv0, int ret)
int64_t av_gettime_relative(void)
Get the current time in microseconds since some unspecified starting point.
int av_strerror(int errnum, char *errbuf, size_t errbuf_size)
Put a description of the AVERROR code errnum in errbuf.
void av_register_all(void)
Initialize libavformat and register all the muxers, demuxers and protocols.