ffmpeg Invalid data found when processing input h264 to h265
I would start with the first error.
[matroska @ 0x1b09450] Codec for stream 1 does not use global headers but container format requires global headers
Try including the following to correc that: "-flags +global_header".
And to convert an h264 to h265 you can use the following command with a standard FFmpeg install (assuming input.mp4 is a valid h264 file). Not sure if there are any unique flags required for an .mkv file but give that a try.
Command I use for .mp4 files:
ffmpeg -i /path/input.mp4 -c:v libx265 -c:a copy -flags +global_header /path/output.mp4
ddio
Updated on July 05, 2022Comments
-
ddio almost 2 years
I want to convert video files from h264 to h265.
The command I use worked for many files so far, but now I get an error for some files:
# ffmpeg -i rst.mkv -vcodec hevc -x265-params crf=28 -sn -acodec copy -map 0 out.mkv ffmpeg version 2.8.6 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.5 (Gentoo 4.8.5 p1.3, pie-0.6.2) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-O2 -pipe -march=core2' --disable-static --enable-avfilter --enable-avresample --disable-stripping --disable-indev=v4l2 --disable-outdev=v4l2 --disable-indev=alsa --disable-indev=oss --disable-indev=jack --disable-outdev=alsa --disable-outdev=oss --disable-outdev=sdl --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-doc --disable-gnutls --enable-gpl --enable-hardcoded-tables --enable-iconv --disable-lzma --enable-network --disable-openssl --enable-postproc --disable-libsmbclient --disable-ffplay --disable-sdl --disable-vaapi --disable-vdpau --disable-xlib --disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes --enable-zlib --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --disable-opengl --disable-libv4l2 --disable-libpulse --disable-libopencore-amrwb --disable-libopencore-amrnb --disable-libfdk-aac --disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-libgme --disable-libgsm --disable-libmodplug --disable-libopus --disable-libquvi --disable-librtmp --disable-libssh --disable-libschroedinger --disable-libspeex --enable-libvorbis --enable-libvpx --disable-libzvbi --disable-libbs2b --disable-libflite --disable-frei0r --disable-libfribidi --disable-fontconfig --disable-ladspa --disable-libass --disable-libfreetype --disable-libsoxr --enable-pthreads --disable-libvo-aacenc --disable-libvo-amrwbenc --disable-libmp3lame --disable-libaacplus --disable-libfaac --disable-libsnappy --enable-libtheora --disable-libtwolame --disable-libwavpack --disable-libwebp --enable-libx264 --enable-libx265 --disable-libxvid --disable-x11grab --disable-amd3dnow --disable-amd3dnowext --disable-avx --disable-avx2 --disable-fma3 --disable-fma4 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-xop --cpu=core2 libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Input #0, matroska,webm, from 'rst.mkv': Metadata: encoder : libebml v1.0.0 + libmatroska v1.0 Duration: 00:21:22.28, start: 0.000000, bitrate: 11533 kb/s Chapter #0:0: start 0.000000, end 159.784000 Metadata: title : 00:00:00.000 Chapter #0:1: start 159.784000, end 642.266000 Metadata: title : 00:02:39.784 Chapter #0:2: start 642.266000, end 1225.641000 Metadata: title : 00:10:42.266 Chapter #0:3: start 1225.641000, end 1254.878000 Metadata: title : 00:20:25.641 Chapter #0:4: start 1254.878000, end 1282.281000 Metadata: title : 00:20:54.878 Chapter #0:5: start 1282.364000, end 1282.281000 Metadata: title : 00:21:22.364 Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default) Stream #0:1(ger): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default) Stream #0:2(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s File 'tbbt-s07e02.mkv' already exists. Overwrite ? [y/N] y x265 [info]: HEVC encoder version 1.9 x265 [info]: build info [Linux][GCC 4.8.5][64 bit] 8bit+10bit+12bit x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64 x265 [info]: Main profile, Level-4 (Main tier) x265 [info]: Thread pool created using 4 threads x265 [info]: frame threads / pool features : 2 / wpp(17 rows) x265 [info]: Coding QT: max CU size, min CU size : 64 / 8 x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 2 x265 [info]: Keyframe min / max / scenecut : 23 / 250 / 40 x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2 x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0 x265 [info]: References / ref-limit cu / depth : 3 / 1 / 1 x265 [info]: AQ: mode / str / qg-size / cu-tree : 1 / 1.0 / 32 / 1 x265 [info]: Rate Control / qCompress : CRF-28.0 / 0.60 x265 [info]: tools: rd=3 psy-rd=2.00 signhide tmvp strong-intra-smoothing x265 [info]: tools: lslices=6 deblock sao [matroska @ 0x1b09450] Codec for stream 1 does not use global headers but container format requires global headers [matroska @ 0x1b09450] Codec for stream 2 does not use global headers but container format requires global headers [matroska @ 0x1b09450] Invalid chapter start (1282364000000) or end (1282281000000). Output #0, matroska, to 'out.mkv': Metadata: encoder : Lavf56.40.101 Chapter #0:0: start 0.000000, end 159.784000 Metadata: title : 00:00:00.000 Chapter #0:1: start 159.784000, end 642.266000 Metadata: title : 00:02:39.784 Chapter #0:2: start 642.266000, end 1225.641000 Metadata: title : 00:10:42.266 Chapter #0:3: start 1225.641000, end 1254.878000 Metadata: title : 00:20:25.641 Chapter #0:4: start 1254.878000, end 1282.281000 Metadata: title : 00:20:54.878 Chapter #0:5: start 1282.364000, end 1282.281000 Metadata: title : 00:21:22.364 Stream #0:0(eng): Video: hevc (libx265), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 1k tbn, 23.98 tbc (default) Metadata: encoder : Lavc56.60.100 libx265 Stream #0:1(ger): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), 384 kb/s (default) Stream #0:2(eng): Audio: dts ([1] [0][0] / 0x2001), 48000 Hz, 5.1(side), 1536 kb/s Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265)) Stream #0:1 -> #0:1 (copy) Stream #0:2 -> #0:2 (copy) Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input encoded 0 frames
The files in question are playable by for example mpv, so they are not corrupt.
-
ddio over 8 yearsThe error Codec for stream 1 does not use global headers is now gone, but the invalid chapter start still appears. Do you know how to remove chapters(I don't need them)? Your ffmpeg options gave the same error.
-
ddio over 8 years-map_chapters -1 worked, -map_metadata -1 unfortunately not.
-
iangetz over 8 yearsAh. Yes. That makes sense. Glad you figured it out. Cheers.