Opus-audio verdwijnt

Ik heb een probleem met een aangepast profiel dat bedoeld is om filmttrailers opnieuw te coderen naar h265-mkv’s. Als het oorspronkelijke bestand een mp4 is met Opus-audio, verdwijnt de audio zomaar. Ik snap er niets van… Ik heb geprobeerd te wisselen tussen handbrake en ffmpeg, maar het maakt geen verschil.

Als ik gewoon op de commandoregel het ffmpeg-commando zelf bouw, werkt het prima en blijft de Opus-audio behouden. Ik ben volkomen in de war over wat er gebeurt, dus ik weet zeker dat ik gewoon een stomme typefout over het hoofd zie.

Het aangepaste profiel:

[HEVC MKV Trailers]
Description=HEVC CRF 26 in MKV (H.265/AC3) conversion.
order=ffmpeg,handbrake
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -max_muxing_queue_size 4000 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -preset medium -crf 26 -map 0:v -sn
ffmpeg-audio=-acodec copy -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-general=–decomb --loose-anamorphic --verbose=2
handbrake-video=–start-at duration:0 -e x265 --encoder-preset medium -q 26
handbrake-audio=-E copy -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=false

Als ik met deze parameters de commandoregel bouw, ziet het er zo uit:

ffmpeg -threads 0 -i “Aquaman (2018)-trailer.mp4” -ss 0 -max_muxing_queue_size 4000 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -preset medium -crf 26 -map 0:v -sn -acodec copy -map 0:a “Aquaman (2018)-trailer.mkv”

Als ik die commandoregel gebruik, blijft het audio gewoon aanwezig… ben ik blind en heb ik iets simpels over het hoofd gezien?

Dat is vreemd. De audio-parameters voor ffmpeg en handbrake staan op kopiëren. Tenzij er iets gebeurt tijdens het initieel remuxen, wat het probleem zou kunnen veroorzaken.\nIk heb nog nooit met opus-audio gewerkt, dus ik heb geen specifieke dingen om te controleren.\n\nKun je het logbestand toevoegen van een conversie die niet werkte? Dan kunnen we misschien enkele suggesties geven voor het oplossen van problemen.


Het ziet ernaar uit dat mediainfo op de verwerkte video helemaal geen audiostream toont.
Aquaman (2018)-trailer.mp4-Trailers-2021-01-05T12-01-56.log (744,1 KB)

Ik heb in het logboek gekeken. De audiotrack wordt herkend totdat de conversie in HandBrake start, maar daarna lijkt hij te verdwijnen. Ik weet niet precies waarom, maar het lijkt erop dat er geen track meer is.

2021-01-05T12:02:46 MCEBuddy.Transcode.ConvertWithHandbrake → Audio Track : 0
2021-01-05T12:02:50 MCEBuddy.AppWrapper.Handbrake → Warning: Could not find audio track 1, skipped
2021-01-05T12:02:50 MCEBuddy.AppWrapper.Handbrake → Warning: Could not find audio track 2, skipped
2021-01-05T12:02:50 MCEBuddy.AppWrapper.Handbrake → Warning: Could not find audio track 3, skipped
2021-01-05T12:02:50 MCEBuddy.AppWrapper.Handbrake → Warning: Could not find audio track 4, skipped
2021-01-05T12:02:50 MCEBuddy.AppWrapper.Handbrake → Warning: Could not find audio track 5, skipped
2021-01-05T12:02:50 MCEBuddy.AppWrapper.Handbrake → Dropping excess audio encoders

Heb je een log waar ffmpeg de conversie heeft uitgevoerd? Ik ben benieuwd hoe die het heeft verwerkt.

Na het gebruik van ffmpeg lijkt er een audiostream te zijn… maar er is nog steeds geen geluid

Aquaman (2018)-trailer.mp4-Trailers-2021-01-05T14-38-13.log (475,9 KB)

Ik heb helemaal geen ervaring met commandoregel-videotranscodering, maar dit lijkt een vreemd probleem… ik heb vast ergens een typfout gemaakt?

Kun je een MediaInfo van het originele bestand bijvoegen?

Hier is mediainfo JSON vir die oudio van die oorspronklike lêer en die omskepte een.

Oorspronklike lêer
{
@type”: “Audio”,
“StreamOrder”: “1”,
“ID”: “2”,
“Format”: “Opus”,
“CodecID”: “Opus”,
“Duration”: “145.161”,
“Duration_FirstFrame”: “0.001”,
“BitRate_Mode”: “VBR”,
“BitRate”: “120335”,
“FrameCount”: “7258”,
“Compression_Mode”: “Lossy”,
“StreamSize”: “2183488”,
“StreamSize_Proportion”: “0.04322”,
“Language”: “en”,
“Default”: “Yes”,
“AlternateGroup”: “1”
}

Omskep met ffmpeg
{
@type”: “Audio”,
“StreamOrder”: “1”,
“ID”: “2”,
“UniqueID”: “2”,
“Format”: “Opus”,
“CodecID”: “A_OPUS”,
“Duration”: “145.161000000”,
“Channels”: “2”,
“ChannelPositions”: “Front: L R”,
“ChannelLayout”: “L R”,
“SamplingRate”: “48000”,
“SamplingCount”: “6967728”,
“BitDepth”: “32”,
“Compression_Mode”: “Lossy”,
“Delay”: “0.000”,
“Delay_Source”: “Container”,
“Language”: “en”,
“Default”: “Yes”,
“Forced”: “No”
}

Zo vreemd, ik snap het niet.
Er zijn meerdere stappen tijdens de conversie. Het zal de originele file remuxen naar de tijdelijke map met het volgende commando in jouw geval:

ffmpeg.exe -hide_banner -probesize 100M -analyzeduration 300M -y -i “F:\Test\Aquaman (2018)-trailer.mp4” -ss 0 -vcodec copy -acodec copy -map 0:a -map 0:0 -f mpegts “f:\temp\working0\Aquaman (2018)-trailer.ts”

Vervolgens doet het andere dingen en begint het met het produceren van het uiteindelijke bestand met dit commando in jouw geval:

ffmpeg.exe -hide_banner -probesize 100M -analyzeduration 300M -threads 0 -y -i “f:\temp\working0\Aquaman (2018)-trailer.ts” -ss 0 -max_muxing_queue_size 4000 -vf hqdn3d -vcodec libx265 -preset medium -crf 26 -map 0:1 -sn -acodec copy -map 0:a “f:\temp\working0\Aquaman (2018)-trailer-converted.mkv”

Voer dat eerste commando uit en kijk of het geluid goed is of niet. Zo niet, dan moeten we uitzoeken waarom. Als het goed is, voer dan het tweede commando uit en kijk hoe het bestand f:\temp\working0\Aquaman (2018)-trailer-converted.mkv is uitgevallen.

eerste commando wordt uitgevoerd, genereert ts-bestand met audio ok. Hier is de json uit dat bestand.
{
@type”: “Audio”,
“StreamOrder”: “0-0”,
“ID”: “256”,
“MenuID”: “1”,
“Format”: “Opus”,
“CodecID”: “6”,
“Compression_Mode”: “Lossy”,
“Language”: “en”,
“extra”: {
“descriptor_tag_extension”: “128”,
“format_identifier”: “Opus”
}

Audio verdwenen na het uitvoeren van het tweede commando. JSON van mediainfo:
{
@type”: “Audio”,
“StreamOrder”: “1”,
“ID”: “2”,
“UniqueID”: “2”,
“Format”: “Opus”,
“CodecID”: “A_OPUS”,
“Duration”: “145.161000000”,
“Channels”: “2”,
“ChannelPositions”: “Front: L R”,
“ChannelLayout”: “L R”,
“SamplingRate”: “48000”,
“SamplingCount”: “6967728”,
“BitDepth”: “32”,
“Compression_Mode”: “Lossy”,
“Delay”: “0.000”,
“Delay_Source”: “Container”,
“Language”: “en”,
“Default”: “Yes”,
“Forced”: “No”
}

Voor het geval het nodig is, hier is de output wanneer ik het tweede commando uitvoer:

[spoiler-box]C:\Program Files\MCEBuddy2x\ffmpeg>ffmpeg.exe -hide_banner -probesize 100M -analyzeduration 300M -threads 0 -y -i “f:\temp\working0\Aquaman (2018)-trailer.ts” -ss 0 -max_muxing_queue_size 4000 -vf hqdn3d -vcodec libx265 -preset medium -crf 26 -map 0:1 -sn -acodec copy -map 0:a “f:\temp\working0\Aquaman (2018)-trailer-converted.mkv”
[h264 @ 0000024da0e1e440] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0000024da0e1e440] decode_slice_header error
[h264 @ 0000024da0e1e440] no frame!
[h264 @ 0000024da0e1e440] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0000024da0e1e440] decode_slice_header error
[h264 @ 0000024da0e1e440] no frame!
[h264 @ 0000024da0e1e440] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0000024da0e1e440] decode_slice_header error
[h264 @ 0000024da0e1e440] no frame!
[h264 @ 0000024da0e1e440] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0000024da0e1e440] decode_slice_header error
[h264 @ 0000024da0e1e440] no frame!
Input #0, mpegts, from ‘f:\temp\working0\Aquaman (2018)-trailer.ts’:
Duration: 00:02:25.14, start: 1.400000, bitrate: 2846 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:00x100: Audio: opus (Opus / 0x7375704F), 48000 Hz, stereo, fltp
Stream #0:1[0x101]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream mapping:
Stream #0:1#0:0 (h264 (native) → hevc (libx265))
Stream #0:0#0:1 (copy)
Press [q] to stop, [?] for help
x265 [info]: HEVC encoder version 3.1+19-c4b098f973e6
x265 [info]: build info [Windows][GCC 9.1.1][64 bit] 8bit+10bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool 0 using 12 threads on numa nodes 0
x265 [info]: Thread pool 1 using 12 threads on numa nodes 1
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 4 / 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 / 3
x265 [info]: Keyframe min / max / scenecut / bias: 23 / 250 / 40 / 5.00
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 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-26.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip signhide tmvp b-intra
x265 [info]: tools: strong-intra-smoothing lslices=6 deblock sao
Output #0, matroska, to ‘f:\temp\working0\Aquaman (2018)-trailer-converted.mkv’:
Metadata:
encoder : Lavf58.33.100
Stream #0:0: Video: hevc (libx265), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 1k tbn, 23.98 tbc
Metadata:
encoder : Lavc58.59.100 libx265
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
Stream #0:1(eng): Audio: opus ([255][255][255][255] / 0xFFFFFFFF), 48000 Hz, stereo, fltp
frame= 3383 fps= 11 q=-0.0 Lsize= 31888kB time=00:02:25.14 bitrate=1799.8kbits/s speed=0.465x
video:29677kB audio:2132kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 0.248575%
x265 [info]: frame I: 108, Avg QP:25.25 kb/s: 6129.21
x265 [info]: frame P: 1068, Avg QP:27.95 kb/s: 2977.66
x265 [info]: frame B: 2207, Avg QP:31.77 kb/s: 899.07
x265 [info]: Weighted P-Frames: Y:11.0% UV:8.8%
x265 [info]: consecutive B-frames: 28.3% 13.0% 12.1% 35.9% 10.7%

encoded 3383 frames in 312.11s (10.84 fps), 1722.24 kb/s, Avg QP:30.36[/spoiler-box]