4

You can't just call a filter, You must instantiate a filter graph. First you need to create a buffer and buffersink via: AVFilterContext* source = 0; AVFilterContext* sink = 0; AVFilterGraph *graph = avfilter_graph_alloc() avfilter_graph_create_filter(&source, avfilter_get_by_name("buffer"), nullptr, args, nullptr, graph); AVBufferSinkParams* ...


3

Stream 0 is Stream #0:0[0x1006]: Video: mpeg2video for which you need -c:v mpeg2_cuvid


2

V-Chip is encoded in the Extended Data Services (XDS) that is part EIA-608 captions. How it is actually transported in/with the video depends the signal type and medium. Analog: Encoded with the captions on line 21 field 2. SD SDI: Probably also on line 21 field 2. HD SDI: On line 9 of the HANC encoded as per SMPTE ST 334. ATSC over the air: In the DTVCC ...


2

Y4M has no timestamps, only framerate in its header. So, if your source has any variability in its framerate, you'll see a shift in apparent timestamp in the Y4M. e.g. n src y4m 0 0 0 1 0.04 0.04 2 0.07 0.08 3 0.12 0.12 4 0.21 0.16 5 0.24 0.20 6 0.27 0.24 ... Over a long period, these perturbations ...


2

Using the encoder's scenecut to detect scenes is not advisable, since its purpose is efficient GOP splitting taking into account other encoding parameters. It is not a "pure" scene detector. Its propensity to mark a "scene change" increases as it gets closer to the the next forced keyframe target (set by keyint). Consider using https://github.com/...


2

So codecs compress and decompress videos, right? COmpress DECompress. Yep. Just like with text encoding, e.g. ascii or unicode, but with video you take a raster (grid of pixels) and turn that into a stream of data. Often the goal is to make the size of the data as small as possible, though sometimes it's to make sure that the pixels that are reconstructed ...


1

Your build doesn't have the image2 muxer enabled, which is required for image sequences.


1

Nvdec and qsv do not have support for 10 bit AVC. And if there was a more “efficient” software decoder available, it would already be in ffmpeg.


1

While I haven't implemented this myself I would suspect Google's VP9 (or VP10) to be a good option. Considering Android phones use an ARM CPU, the codecs and libraries supporting it should be highly optimized as they've been around for almost 10 years, and Google has a reason to continue improving it. Plus it's royalty free both to play and to encode. ...


1

Filters cant really run in parallel because they can modify frames, and you can’t modify a frame in two threads at the same time. You can make a copy of the frame and run two filter graphs.


1

It does not produce any output file. After filtering, display_frame() is called, which simply outputs to the console. /* Trivial ASCII grayscale display. */ p0 = frame->data[0]; puts("\033c"); for (y = 0; y < frame->height; y++) { p = p0; for (x = 0; x < frame->width; x++) putchar(" .-+#"[*(p++) / 52]); putchar('\n'); ...


1

What you are looking for is called “no-reference quality assessment”. Google can give you specific examples.


1

You can use the trace_headers bitstream filter in ffmpeg ffmpeg -i in.264 -c copy -bsf:v trace_headers -f null - 2> NALUS.txt The text file will have data like this, [AVBSFContext @ 00000000027d3580] Packet: 102 bytes, no pts, dts -31999, duration 40000. [AVBSFContext @ 00000000027d3580] Slice Header [AVBSFContext @ 00000000027d3580] 0 ...


1

The key -drop_second_field 1 fixed this issue. And result command looks as follow: ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -deint 2 -drop_second_field 1 -i "udp://IP:PORT" -vcodec h264_nvenc -acodec libfdk_aac -f flv rtmp://IP/test/name What I think about this problem: at the moment in cuda decoding we can use only 2 deinterlace variants: -deint ...


1

It's a bug in ffmpeg. When you explicitly specify a type of the HW acceleration (i.e. cuvid), ffmpeg assigns 0 to CUVIDDECODECREATEINFO::ulNumDecodeSurfaces and to CUVIDDECODECREATEINFO::ulNumOutputSurfaces. Consequently, a call to cuvidCreateDecoder fails, since NVDEC doesn't have surfaces to output decoded pictures.


Only top voted, non community-wiki answers of a minimum length are eligible