Log in

View Full Version : ffmpeg can't mux hevc elementary stream?


kypec
29th September 2017, 20:52
I'm trying to mux elementary HEVC (encoded by x265) stream with Opus OGG (produced by ffmpeg from input AC3) stream but ffmpeg refuses to multiplex them. Here's my command line:ffmpeg.exe -i title01.hevc -i normalized-title01.ogg -c copy -map 0:0 -map 1:0 -metadata:s:a:0 language=eng output.mkv
Process fails due to error below:ffmpeg version N-87359-g67da2685e0 Copyright (c) 2000-2017 the FFmpeg developers

built with gcc 7.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-avisynth --enable-gcrypt --enable-libmp3lame --enable
-libopus --enable-libvorbis --enable-cuda --enable-cuvid --enable-schannel --ena
ble-libfdk-aac --enable-gpl --enable-nonfree --disable-debug
libavutil 55. 76.100 / 55. 76.100
libavcodec 57.106.101 / 57.106.101
libavformat 57. 82.101 / 57. 82.101
libavdevice 57. 8.101 / 57. 8.101
libavfilter 6.106.100 / 6.106.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Input #0, hevc, from 'title01.hevc':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv), 720x576 [SAR 64:45 DAR
16:9], 25 fps, 25 tbr, 1200k tbn, 25 tbc
Input #1, ogg, from 'normalized-title01.ogg':
Duration: 00:05:05.00, start: 0.000000, bitrate: 43 kb/s
Stream #1:0(eng): Audio: opus, 48000 Hz, stereo, fltp
Metadata:
LANGUAGE : eng
TITLE : Stereo
BPS-ENG : 192000
DURATION-ENG : 00:05:04.992000000
NUMBER_OF_FRAMES-ENG: 9531
NUMBER_OF_BYTES-ENG: 7319808
SOURCE_ID-ENG : 0180BD
_STATISTICS_WRITING_APP-ENG: MakeMKV v1.10.7 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-ENG: 2017-09-20 09:53:31
_STATISTICS_TAGS-ENG: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE
_ID
ENCODER : Lavc57.106.101 libopus
Output #0, matroska, to 'output.mkv':
Metadata:
encoder : Lavf57.82.101
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv), 720x576 [SAR 64:45 DAR
16:9], q=2-31, 25 fps, 25 tbr, 1k tbn, 1200k tbc
Stream #0:1(eng): Audio: opus ([255][255][255][255] / 0xFFFFFFFF), 48000 Hz,
stereo, fltp
Metadata:
ENCODER : Lavc57.106.101 libopus
TITLE : Stereo
BPS-ENG : 192000
DURATION-ENG : 00:05:04.992000000
NUMBER_OF_FRAMES-ENG: 9531
NUMBER_OF_BYTES-ENG: 7319808
SOURCE_ID-ENG : 0180BD
_STATISTICS_WRITING_APP-ENG: MakeMKV v1.10.7 win(x64-release)
_STATISTICS_WRITING_DATE_UTC-ENG: 2017-09-20 09:53:31
_STATISTICS_TAGS-ENG: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE
_ID
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #1:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[matroska @ 00000081aa25e0c0] Timestamps are unset in a packet for stream 0. Thi
s is deprecated and will stop working in the future. Fix your code to set the ti
mestamps properly
[matroska @ 00000081aa25e0c0] Can't write packet with unknown timestamp
av_interleaved_write_frame(): Invalid argument
frame= 1 fps=0.0 q=-1.0 Lsize= 2kB time=-00:00:00.00 bitrate=N/A speed=
N/A
video:2kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing ove
rhead: unknown
Conversion failed!

sneaker_ger
29th September 2017, 21:13
Yeah, don't try to mux raw HEVC or AVC using ffmpeg (at least not with bframes). Use mkvmerge.