Open hakong opened 6 years ago
It seems mkvextract doesn't want to work with your video. Run h265ize with --disable-upconvert
.
Tried that, threw me another error. I'll try compiling the latest version of ffmpeg and see what happens. Ran ffmpeg manually with the same parameters and it gave me:
[root@converter ~]# /usr/bin/ffmpeg -i "/mnt/data/downloads/downloading/Videos/Video.mp4" -y -acodec copy -vcodec libx265 -filter:v crop=704:560:8:6 -c:s copy -pix_fmt yuv420p -map 0:0 -map 0:1 -metadata:s:a:1 title="English AAC LC (Mono)" -map 0:2 -metadata:s:0:2 title=English -metadata:s:0:2 DISPOSITION:default=0 -map 0:3 -metadata:s:0:3 title=English -metadata:s:0:3 DISPOSITION:default=0 -preset medium -x265-params crf=17: "/tmp/h265ize/Video.encoding-in-progress.mkv"
ffmpeg version 2.8.14 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-16)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
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, mov,mp4,m4a,3gp,3g2,mj2, from '/mnt/data/downloads/downloading/Videos/Video.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2011-06-11 13:08:32
encoder : HandBrake 0.9.5 2011010300
Duration: 00:07:55.00, start: 0.000000, bitrate: 3080 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 718x572 [SAR 16:15 DAR 2872:2145], 2947 kb/s, 24.99 fps, 25 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2011-06-11 13:08:32
encoder : JVT/AVC Coding
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 127 kb/s (default)
Metadata:
creation_time : 2011-06-11 13:08:32
Stream #0:2(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D), 720x576, 0 kb/s (default)
Metadata:
creation_time : 2011-06-11 13:08:32
Stream #0:3(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D), 720x576, 1 kb/s
Metadata:
creation_time : 2011-06-11 13:08:32
x265 [info]: HEVC encoder version 1.9
x265 [info]: build info [Linux][GCC 4.8.5][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
x265 [info]: Main profile, Level-3 (Main tier)
x265 [info]: Thread pool created using 12 threads
x265 [info]: frame threads / pool features : 3 / wpp(9 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
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 : 25 / 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-17.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 signhide tmvp strong-intra-smoothing
x265 [info]: tools: deblock sao
[matroska @ 0x6d86a0] Codec for stream 1 does not use global headers but container format requires global headers
[matroska @ 0x6d86a0] Tag mp4s/0x7334706d incompatible with output codec id '94208' ([0][0][0][0])
Output #0, matroska, to '/tmp/h265ize/Video.encoding-in-progress.mkv':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
encoder : HandBrake 0.9.5 2011010300
Stream #0:0(und): Video: hevc (libx265), yuv420p, 704x560 [SAR 16:15 DAR 704:525], q=2-31, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
creation_time : 2011-06-11 13:08:32
title : English
DISPOSITION:default: 0
encoder : Lavc56.60.100 libx265
Stream #0:1(eng): Audio: aac ([255][0][0][0] / 0x00FF), 48000 Hz, mono, 127 kb/s (default)
Metadata:
creation_time : 2011-06-11 13:08:32
Stream #0:2(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D), 720x576, 0 kb/s (default)
Metadata:
creation_time : 2011-06-11 13:08:32
Stream #0:3(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D), 720x576, 1 kb/s
Metadata:
creation_time : 2011-06-11 13:08:32
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Stream #0:3 -> #0:3 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input
encoded 0 frames
[root@converter ~]#
It looks like your mkv doesn't match the mkv spec. Strange. I suggest stripping the video and subtitles to a new file using -map
and seeing if you can somehow get the audio out. Then remerge them into a valid mkv.
I encountered the same issue with an avi format movie in latest version(v42.0.0.0) of mkvextract. but mkvtoolnix gui can parse the file, show me there are two parts, one is mpeg2 video and the another one is mp3 audio. So follow the hint by FallingSnow, I use mkvtoolnix to rebuild the avi by adding a placeholder subscript file. Then you can extract any particular track by mkvextract successfully .
What can I do about this?