When attempting to hardware encode to h264 using the Rockchip MPP encoder h264_rkmpp from an ATSC source, FFMPEG errors out with:
"Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0'" The sample file used in this example can be downloaded here: https://transfer.sh/BRMej/out.ts The full command used and resulting output is as follows: $ ffmpeg -loglevel 48 -c:v mpeg2video -f mpegts -i out.ts -f mp4 -c:v h264_rkmpp -c:a libfdk_aac -preset ultrafast -mbd rd -copyinkf -flags +ilme+ildct -fflags +genpts out.mp4 -y ffmpeg version 589de66a0b Copyright (c) 2000-2018 the FFmpeg developers built with gcc 9.3.0 (GCC) configuration: --prefix=/usr/local --extra-libs='-lpthread -lm' --enable-hardcoded-tables --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-rkmpp --enable-version3 --enable-libdrm --enable-libx265 --enable-nonfree libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100 Splitting the commandline. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '48'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'mpeg2video'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mpegts'. Reading option '-i' ... matched as input url with argument 'out.ts'. Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'h264_rkmpp'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'libfdk_aac'. Reading option '-preset' ... matched as AVOption 'preset' with argument 'ultrafast'. Reading option '-mbd' ... matched as AVOption 'mbd' with argument 'rd'. Reading option '-copyinkf' ... matched as option 'copyinkf' (copy initial non-keyframes) with argument '1'. Reading option '-flags' ... matched as AVOption 'flags' with argument '+ilme+ildct'. Reading option '-fflags' ... matched as AVOption 'fflags' with argument '+genpts'. Reading option 'out.mp4' ... matched as output url. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument 48. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url out.ts. Applying option c:v (codec name) with argument mpeg2video. Applying option f (force format) with argument mpegts. Successfully parsed a group of options. Opening an input file: out.ts. [mpegts @ 0xaaab03c8df20] Opening 'out.ts' for reading [file @ 0xaaab03c8e820] Setting default whitelist 'file,crypto' [mpegts @ 0xaaab03c8df20] Before avformat_find_stream_info() pos: 0 bytes read:5013504 seeks:1 nb_streams:0 [mpegts @ 0xaaab03c8df20] stream=0 stream_type=0 pid=31 prog_reg_desc= [mpegts @ 0xaaab03c8df20] probing stream 0 pp:2500 [mpegts @ 0xaaab03c8df20] Probe with size=204749, packets=1 detected mpegvideo with score=25 [mpegts @ 0xaaab03c8df20] probed stream 0 [mpegts @ 0xaaab03c8df20] stream=1 stream_type=0 pid=34 prog_reg_desc= [mpeg2video @ 0xaaab03cab640] Format yuv420p chosen by get_format(). [mpegts @ 0xaaab03c8df20] probing stream 1 pp:2500 [mpegts @ 0xaaab03c8df20] Probe with size=7680, packets=1 detected ac3 with score=25 [mpegts @ 0xaaab03c8df20] probed stream 1 [mpegts @ 0xaaab03c8df20] max_analyze_duration 5000000 reached at 5005000 microseconds st:0 [mpegts @ 0xaaab03c8df20] PES packet size mismatch [mpegts @ 0xaaab03c8df20] After avformat_find_stream_info() pos: 0 bytes read:9195664 seeks:3 frames:306 Input #0, mpegts, from 'out.ts': Duration: 00:00:18.42, start: 29234.532200, bitrate: 5406 kb/s Stream #0:0[0x31], 152, 1/90000: Video: mpeg2video (Main), 1 reference frame, yuv420p(yuv420p) (tv, bt709, top first, left), 1920x1080 [SAR 1:1 DAR 16:9], 0/1, Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x34], 154, 1/90000: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s Successfully opened the file. Parsing a group of options: output url out.mp4. Applying option f (force format) with argument mp4. Applying option c:v (codec name) with argument h264_rkmpp. Applying option c:a (codec name) with argument libfdk_aac. Applying option copyinkf (copy initial non-keyframes) with argument 1. Successfully parsed a group of options. Opening an output file: out.mp4. Codec AVOption preset (Set the encoding preset (cf. x264 --fullhelp)) specified for output file #0 (out.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream. [file @ 0xaaab03cadfd0] Setting default whitelist 'file,crypto' Successfully opened the file. detected 4 logical cores Stream mapping: Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (h264_rkmpp)) Stream #0:1 -> #0:1 (ac3 (native) -> aac (libfdk_aac)) Press [q] to stop, [?] for help cur_dts is invalid (this is harmless if it occurs once at the start per stream) [mpeg2video @ 0xaaab03caf190] Format yuv420p chosen by get_format(). cur_dts is invalid (this is harmless if it occurs once at the start per stream) [mpeg2video @ 0xaaab03caf190] Skipping B slice due to open GOP Last message repeated 67 times cur_dts is invalid (this is harmless if it occurs once at the start per stream) [mpeg2video @ 0xaaab03caf190] Skipping B slice due to open GOP Last message repeated 67 times cur_dts is invalid (this is harmless if it occurs once at the start per stream) [graph 0 input from stream 0:0 @ 0xaaab03fa2030] Setting 'video_size' to value '1920x1080' [graph 0 input from stream 0:0 @ 0xaaab03fa2030] Setting 'pix_fmt' to value '0' [graph 0 input from stream 0:0 @ 0xaaab03fa2030] Setting 'time_base' to value '1/90000' [graph 0 input from stream 0:0 @ 0xaaab03fa2030] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 0xaaab03fa2030] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0xaaab03fa2030] Setting 'frame_rate' to value '30000/1001' [graph 0 input from stream 0:0 @ 0xaaab03fa2030] w:1920 h:1080 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:1/1 sws_param:flags=2 [format @ 0xaaab03d12a00] Setting 'pix_fmts' to value 'drm_prime' [auto_scaler_0 @ 0xaaab03cedac0] Setting 'flags' to value 'bicubic' [auto_scaler_0 @ 0xaaab03cedac0] w:iw h:ih flags:'bicubic' interl:0 [format @ 0xaaab03d12a00] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format' Impossible to convert between the formats supported by the filter 'Parsed_null_0' and the filter 'auto_scaler_0' Error reinitializing filters! Failed to inject frame into filter network: Function not implemented Error while processing the decoded data for stream #0:0 [AVIOContext @ 0xaaab03d0a4c0] Statistics: 0 seeks, 0 writeouts [AVIOContext @ 0xaaab03c968f0] Statistics: 9556112 bytes read, 3 seeks Conversion failed! _______________________________________________ ffmpeg-user mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
