VideoHelp Forum
+ Reply to Thread
Page 4 of 5
FirstFirst ... 2 3 4 5 LastLast
Results 91 to 120 of 122
Thread
  1. Member
    Join Date
    Nov 2021
    Location
    San Marcos, CA, USA
    Search PM
    Any updates on this adventure? The last post here sounds like it is getting as close as possible to what I want to do: extract the raw Dolby/DTS bitstream from HDMI, in any format (Atmos, TrueHD, whatever) it happens to be in. I'm looking to capture the raw bitstream from HDMI, to be remuxed back into a video stream later (using something like MKVToolNix). I don't need anything decoded, turned into PCM, etc. I just want the raw bitstream.

    It sounds like @nogginvid is able to do this, it just takes a couple runs through ffmpeg to get the proper format? Which Blackmagic device are you using @nogginvid? You mentioned "Blackmagic Thunderbolt Capture" but didn't say which one. Would the UltraStudio 4K Mini work? https://www.bhphotovideo.com/c/product/1500555-REG/blackmagic_design_bdlkulsdmini4k_ul....html/overview

    It looks like this can record to an SD card directly. So, if you have something like that EZCOO box in front of the Blackmagic, and it's telling the source via EDID that it's Dolby Atmos compatible, would the Blackmagic then just magically record the video and bitstream to the SD card (not sure what file format) and be good to go? Or do you always need to convert the audio stream to AC3 before it will be recognized as a valid Dolby bitstream? And doesn't AC3 only support up to 5.1? You need E-ACf3 to get 7.1 or higher I think?

    When converting, does truncating 24-bit to 16-bit really not cause any issues?? I'd think on an encoded digital signal, ANY change would render the encoding invalid?
    Quote Quote  
  2. Originally Posted by Cannikin View Post
    Any updates on this adventure? The last post here sounds like it is getting as close as possible to what I want to do: extract the raw Dolby/DTS bitstream from HDMI, in any format (Atmos, TrueHD, whatever) it happens to be in. I'm looking to capture the raw bitstream from HDMI, to be remuxed back into a video stream later (using something like MKVToolNix). I don't need anything decoded, turned into PCM, etc. I just want the raw bitstream.
    No real update - but I should stress this only works for me for Dolby Digital. Dolby Digital Plus didn't work. I haven't tried DTS. I very much doubt it will work for DTS HD MA/Dolby True HD. It requires that the compressed audio is SPDIF format over HDMI (so carried within a PCM 2.0 feed) - as I'm using the ffmpeg SPDIF filter (Which is designed to extract compressed DD audio over a SPDIF connection I believe)

    True HD and DTS HD MA use a different form of carriage over HDMI - and the SPDIF filter isn't designed to cope with them. I believe that they also require 192kHz PCM 5.1 capabilities for the sink device (even though the source isn't using PCM 192kHz to carry the audio - it requires that level of bandwidth). The Black Magic capture solutions I have will only capture at max 48KHz - so I doubt they'd ever work for HD Audio.

    It sounds like @nogginvid is able to do this, it just takes a couple runs through ffmpeg to get the proper format? Which Blackmagic device are you using @nogginvid? You mentioned "Blackmagic Thunderbolt Capture" but didn't say which one. Would the UltraStudio 4K Mini work? https://www.bhphotovideo.com/c/product/1500555-REG/blackmagic_design_bdlkulsdmini4k_ul....html/overview
    I'm using the Ultrastudio 4K Mini.

    It looks like this can record to an SD card directly. So, if you have something like that EZCOO box in front of the Blackmagic, and it's telling the source via EDID that it's Dolby Atmos compatible, would the Blackmagic then just magically record the video and bitstream to the SD card (not sure what file format) and be good to go? Or do you always need to convert the audio stream to AC3 before it will be recognized as a valid Dolby bitstream? And doesn't AC3 only support up to 5.1? You need E-ACf3 to get 7.1 or higher I think?
    The 4K Mini can't record directly to an SD card - the SD Card slot in it is just for convenience of ingesting file-based media (it's a Thunderbolt connected SD card reader) - there is no standalone record functionality in the device - it only works alongside a Thunderbolt PC or Laptop (I use a MacBook Pro 16" i9 Intel) which runs the capture software.

    You are correct - AC3/DD is only 5.1 max. I'm using this to archive content from a Sky Q box (216p60 HLG HDR or 1080i25 SDR + 5.1 AC3)

    I have checked and E-AC3/DD+ with Atmos doesn't survive this route - I've not checked DTS.

    When converting, does truncating 24-bit to 16-bit really not cause any issues?? I'd think on an encoded digital signal, ANY change would render the encoding invalid?
    No - the AC3 is carried within the top 16 MSBs - the bottom 8 are just padding - as the SPDIF audio format that is being used to carry the compressed Dolby Digital signal is based around 16-bit SPDIF PCM 2.0 carriage. I'm not clear if this is just the BlackMagic capture device padding because it's recording a 16-bit signal in 24-bits, or whether the SPDIF audio carried over the HDMI is being carried as 16-bits in a 24-bit PCM 2.0 wrapper - but either way it works with no corrupted audio or errors - so the bitstream must be intact.
    Quote Quote  
  3. Member
    Join Date
    Nov 2021
    Location
    San Marcos, CA, USA
    Search PM
    Thanks so much for the update! Disappointing to hear about DD+/Atmos...

    I have an Atomos Ninja V which will record 4k/60 HDR and up to 8 channels of audio via HDMI. Once my EZCOO comes tomorrow (I got this one, which has a handy button for setting different EDIDs: https://www.amazon.com/gp/product/B09B7B7BM8 ) I'm going to put that in my HDMI chain and see what kind of recording I can get. I figured I could tell the EZCOO to send the "all audio supported" EDID and was hoping to get the PCM bitstream on channels 1 & 2, but it sounds like that'll only be for DD 5.1 and below.

    But, what if I have my device do the decoding and send 5.1 or 7.1 PCM over HDMI? Then I (should) get all 8 channels into the Ninja V. Not sure how that works with Atmos though. I haven't found a good layman's description of how it works, it sounds like it's just metadata, but would that be encoded into the 7.1 stream somehow, and would be reflected in an 8-channel recording? But even if that metadata was there, I'm guessing that on playback it won't trigger the receiver to decode it properly, it just thinks its getting PCM and so just sends that straight to the speakers.
    Quote Quote  
  4. Originally Posted by Cannikin View Post
    Thanks so much for the update! Disappointing to hear about DD+/Atmos...

    I have an Atomos Ninja V which will record 4k/60 HDR and up to 8 channels of audio via HDMI. Once my EZCOO comes tomorrow (I got this one, which has a handy button for setting different EDIDs: https://www.amazon.com/gp/product/B09B7B7BM8 ) I'm going to put that in my HDMI chain and see what kind of recording I can get. I figured I could tell the EZCOO to send the "all audio supported" EDID and was hoping to get the PCM bitstream on channels 1 & 2, but it sounds like that'll only be for DD 5.1 and below.

    But, what if I have my device do the decoding and send 5.1 or 7.1 PCM over HDMI? Then I (should) get all 8 channels into the Ninja V. Not sure how that works with Atmos though. I haven't found a good layman's description of how it works, it sounds like it's just metadata, but would that be encoded into the 7.1 stream somehow, and would be reflected in an 8-channel recording? But even if that metadata was there, I'm guessing that on playback it won't trigger the receiver to decode it properly, it just thinks its getting PCM and so just sends that straight to the speakers.
    Yes - if you have a device that decodes to PCM 5.1/7.1 and a device that captures HDMI with 6 or 8 tracks of embedded audio then that's very straightforward - and will capture 48kHz / 24 bit audio (though not Atmos extensions and you won't get the metadata - as it will have been used to drive the PCM decode). You probably wouldn't need the EZCOO for that if your capture solution outputs an EDID that tells the source it supports PCM 5.1/7.1 audio. (The EZCOO is required for DD capture as the BlackMagic devices don't flag Dolby Digital support in their EDID)

    You may find that the HDMI track layout isn't quite the same as the standard Post Production track layout (from memory the C and LFE channels are swapped between the broadcast and HDMI standards)

    My problem was that my satellite receiver wouldn't output Dolby Digital decoded to PCM 5.1 - it was purely PCM 2.0 mixed down to stereo or a DD or DD+ bitstream - there was no decoded option. Other devices I have (Blu-ray players, PS4 etc.) will output PCM 5.1/7.1 and that is trivial to capture on any decent card with >2 channel audio support in HDMI. (But you are capturing a decode - not the original bitstream - so whilst the audio decode is potentially lossless for 48k/24 tracks - you don't have the accompanying metadata - that is useful for playback on other devices. You won't get the DialNorm, mix down gains, LoRo vs LtRt etc. stuff. If you capture the original bitstream then you get that metadata for playback on other devices. For most people this won't be an issue.)
    Last edited by nogginvid; 20th Nov 2021 at 08:09.
    Quote Quote  
  5. Member
    Join Date
    Nov 2021
    Location
    San Marcos, CA, USA
    Search PM
    Did some tests with my Ninja V tonight and got some various combinations of settings to work! I'm using an Apple TV as my output device, and I was able to get the Ninja V to record in both SDR and HDR which was great. For audio, I was able to get 6-channel PCM, and it looked like LFE was channel 3 and Center was channel 4. I think I remember Center supposed to be channel 3. �� Any idea if there is any software out there that lets you transpose them?

    If I tell the Apple TV that I want it to turn all audio into Dolby Digital then I saw channels 1/2 with a pretty high, relatively constant signal, which I assume was the bitstream, but I forgot to record a clip in that format. I'll try that next, and then use your technique above for turning into AC-3.

    For purely research purposes, I've noticed that there are tons of files via Bittorrent which claim to have an Atmos track. How are people capturing that bitstream I wonder?
    Quote Quote  
  6. Originally Posted by Cannikin View Post
    Did some tests with my Ninja V tonight and got some various combinations of settings to work! I'm using an Apple TV as my output device, and I was able to get the Ninja V to record in both SDR and HDR which was great. For audio, I was able to get 6-channel PCM, and it looked like LFE was channel 3 and Center was channel 4. I think I remember Center supposed to be channel 3. �� Any idea if there is any software out there that lets you transpose them?
    Very easy to remap with an ffmpeg command line. Worth learning about ffmpeg for this stuff.

    If I tell the Apple TV that I want it to turn all audio into Dolby Digital then I saw channels 1/2 with a pretty high, relatively constant signal, which I assume was the bitstream, but I forgot to record a clip in that format. I'll try that next, and then use your technique above for turning into AC-3.
    Yep - Dolby Digital should work, Dolby Digital Plus probably won't.

    For purely research purposes, I've noticed that there are tons of files via Bittorrent which claim to have an Atmos track. How are people capturing that bitstream I wonder?
    My guess is that they have a way of capturing at the file-level... UHD Blu-rays can be ripped, streaming services have - I suspect - been hacked to allow for native capture of the compressed bitstreams.
    Quote Quote  
  7. Member
    Join Date
    Nov 2021
    Location
    San Marcos, CA, USA
    Search PM
    ffmpeg doesn't like me specifying the input format for some reason. The 24bit -> 16bit conversion worked fine, but when I try to convert to AC3 I'm getting:

    % ffmpeg -f spdif -i "T007_audio.wav" -c copy -f ac3 "T007_audio.ac3"
    ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
    built with Apple clang version 12.0.5 (clang-1205.0.22.9)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/4.4_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-avresample --enable-videotoolbox
    libavutil 56. 70.100 / 56. 70.100
    libavcodec 58.134.100 / 58.134.100
    libavformat 58. 76.100 / 58. 76.100
    libavdevice 58. 13.100 / 58. 13.100
    libavfilter 7.110.100 / 7.110.100
    libavresample 4. 0. 0 / 4. 0. 0
    libswscale 5. 9.100 / 5. 9.100
    libswresample 3. 9.100 / 3. 9.100
    libpostproc 55. 9.100 / 55. 9.100
    Input #0, spdif, from 'T007_audio.wav':
    Duration: N/A, bitrate: N/A
    Output #0, ac3, to 'T007_audio.ac3':
    Output file #0 does not contain any stream
    If I remove the input -f flag then it actually "works", but it thinks the input is just a stereo WAV and so the output isn't valid AC3:

    % ffmpeg -i "T007_audio.wav" -c copy -f ac3 "T007_audio.ac3"
    ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
    built with Apple clang version 12.0.5 (clang-1205.0.22.9)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/4.4_2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-avresample --enable-videotoolbox
    libavutil 56. 70.100 / 56. 70.100
    libavcodec 58.134.100 / 58.134.100
    libavformat 58. 76.100 / 58. 76.100
    libavdevice 58. 13.100 / 58. 13.100
    libavfilter 7.110.100 / 7.110.100
    libavresample 4. 0. 0 / 4. 0. 0
    libswscale 5. 9.100 / 5. 9.100
    libswresample 3. 9.100 / 3. 9.100
    libpostproc 55. 9.100 / 55. 9.100
    Guessed Channel Layout for Input Stream #0.0 : stereo
    Input #0, wav, from 'T007_audio.wav':
    Metadata:
    encoder : Lavf58.76.100
    timecode : 00:00:00:00
    Duration: 00:00:43.84, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
    Output #0, ac3, to 'T007_audio.ac3':
    Metadata:
    timecode : 00:00:00:00
    encoder : Lavf58.76.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
    Stream mapping:
    Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    size= 8219kB time=00:00:43.81 bitrate=1536.6kbits/s speed=4.18e+03x
    video:0kB audio:8219kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
    The only troubleshooting I'm finding on Google is people that forgot the -i flag altogether and so there was no input for it to convert. Hmmmmmmmm
    Quote Quote  
  8. What is the MediaInfo for the original capture, and the 16-bit truncated capture, in detail?

    Has your capture been split into stereo pairs or mono tracks? How many tracks have you captured? Do you hear buzzing on the first two tracks, or two channels of one track? (Stereo vs Dual Mono may be a factor here)

    Also checking this is straight Dolby Digital-over-HDMI - not Dolby Digital Plus, True HD, DTS or DTS HD MA/HRA (and no Atmos or DTS)?
    Last edited by nogginvid; 24th Nov 2021 at 08:54.
    Quote Quote  
  9. Member
    Join Date
    Nov 2021
    Location
    San Marcos, CA, USA
    Search PM
    haha Correct, 2.0 PCM. Yep I hear a constant buzzing while playing. Here's the MediaInfo on the original video file:

    Code:
    General
    Complete name                            : /Users/rob/Desktop/NINJAV_S001_S001_T007.MOV
    Format                                   : MPEG-4
    Format profile                           : QuickTime
    Codec ID                                 : qt   2005.03 (qt  )
    File size                                : 343 MiB
    Duration                                 : 43 s 835 ms
    Overall bit rate                         : 65.7 Mb/s
    Encoded date                             : UTC 2021-11-22 20:06:55
    Tagged date                              : UTC 2021-11-22 20:06:55
    Writing library                          : Apple QuickTime
    com.atomos.hdr.gamut                     : Bt2020
    com.atomos.hdr.gamma                     : PqSt2084
    com.atomos.hdr.camera                    : Pq
    com.atomos.hdr.monitormode               : Pq
    com.atomos.hdr.slider                    : Unknown kind of value!
    com.apple.proapps.image.{TIFF}.Make      : Atomos
    com.apple.proapps.image.{TIFF}.Model     : NinjaV
    com.apple.proapps.image.{TIFF}.Software  : 10.7.3
    
    Video
    ID                                       : 2
    Format                                   : HEVC
    Format/Info                              : High Efficiency Video Coding
    Format profile                           : Format Range@L5@High
    Codec ID                                 : hvc1
    Codec ID/Info                            : High Efficiency Video Coding
    Duration                                 : 43 s 835 ms
    Bit rate                                 : 63.4 Mb/s
    Width                                    : 3 840 pixels
    Height                                   : 2 160 pixels
    Display aspect ratio                     : 16:9
    Frame rate mode                          : Constant
    Frame rate                               : 23.976 (24000/1001) FPS
    Color space                              : YUV
    Chroma subsampling                       : 4:2:2 (Type 0)
    Bit depth                                : 10 bits
    Scan type                                : Progressive
    Bits/(Pixel*Frame)                       : 0.319
    Stream size                              : 331 MiB (96%)
    Language                                 : English
    Encoded date                             : UTC 2021-11-22 20:06:55
    Tagged date                              : UTC 2021-11-22 20:06:55
    Color range                              : Full
    Color primaries                          : BT.2020
    Transfer characteristics                 : PQ
    Matrix coefficients                      : BT.2020 non-constant
    Codec configuration box                  : hvcC
    
    Audio
    ID                                       : 1
    Format                                   : PCM
    Format settings                          : Little / Signed
    Codec ID                                 : in24
    Duration                                 : 43 s 835 ms
    Bit rate mode                            : Constant
    Bit rate                                 : 2 304 kb/s
    Channel(s)                               : 2 channels
    Channel layout                           : L R
    Sampling rate                            : 48.0 kHz
    Bit depth                                : 24 bits
    Stream size                              : 6.02 MiB (2%)
    Language                                 : English
    Encoded date                             : UTC 2021-11-22 20:06:55
    Tagged date                              : UTC 2021-11-22 20:06:55
    
    Other
    ID                                       : 3
    Type                                     : Time code
    Format                                   : QuickTime TC
    Duration                                 : 43 s 835 ms
    Frame rate                               : 23.976 (24000/1001) FPS
    Time code of first frame                 : 00:00:00:00
    Time code, striped                       : Yes
    Language                                 : English
    Encoded date                             : UTC 2021-11-22 20:06:55
    Tagged date                              : UTC 2021-11-22 20:06:55
    And here's the MediaInfo after extracting audio and converting 24bit -> 16bit using your command from earlier in the thread:

    Code:
    General
    Complete name                            : /Users/rob/Desktop/t007_audio.wav
    Format                                   : Wave
    File size                                : 8.03 MiB
    Duration                                 : 43 s 835 ms
    Overall bit rate mode                    : Constant
    Overall bit rate                         : 1 536 kb/s
    Writing application                      : Lavf58.76.100
    
    Audio
    Format                                   : PCM
    Format settings                          : Little / Signed
    Codec ID                                 : 1
    Duration                                 : 43 s 835 ms
    Bit rate mode                            : Constant
    Bit rate                                 : 1 536 kb/s
    Channel(s)                               : 2 channels
    Sampling rate                            : 48.0 kHz
    Bit depth                                : 16 bits
    Stream size                              : 8.03 MiB (100%)
    And here's the WAV file: https://www.icloud.com/iclouddrive/0nSrkr6gvUwWpO2Ww4bG_KU6g#t007_audio

    Maybe the Ninja V pads the 16bits differently than the BlackMagic, and so the 24 -> 16 truncation is ruining the format? I'm on a Mac, don't know if that matters.

    Thanks for the help!
    Quote Quote  
  10. Yep - could be the Ninja dithers rather than pads? I'm on a Mac too - so it's unlikely to be that. Checking your WAV in my MediaInfo install it doesn't detect any AC3.

    My guess is that the Ninja either isn't 'bit perfect' in capturing this stuff and may be dithering or padding in a different way than just adding an LSB of all 0s to pad from 16 to 24 bit?

    Media Info recognises the AC3 present in my PCM 2.0 prior to me running it through the SPDIF process in ffmpeg - but in your files it doesn't? That suggests something somewhere is corrupting the AC3-in-PCM 2.0 data.

    Here's my 16bit WAV truncation from my Sky Q box fed into MediaInfo :

    Format : Wave
    File size : 196 MiB
    Duration : 17 min 51 s
    Overall bit rate mode : Constant
    Overall bit rate : 1 536 kb/s
    Writing application : Lavf58.76.100

    Audio
    Format : AC-3
    Format/Info : Audio Coding 3
    Commercial name : Dolby Digital
    Format settings : Little
    Muxing mode : SMPTE ST 337
    Codec ID : 1
    Duration : 17 min 51 s
    Bit rate mode : Constant
    Bit rate : 384 kb/s
    Channel(s) : 6 channels
    Channel layout : L R C LFE Ls Rs
    Sampling rate : 48.0 kHz
    Frame rate : 31.250 FPS (1536 SPF)
    Bit depth : 16 bits
    Compression mode : Lossy
    Stream size : 49.0 MiB (25%)
    Service kind : Complete Main


    You can see although it's a WAV file Media Info recognises the AC3 content within it.

    As it also does with the Quicktime ProRes HQ capture as well. This is what Media Info reports from the straight Black Magic Capture of the 2160p50 + AC3 capture (again before any ffmpeg processing to make the AC3 actually usable) Media Info seems very good at drilling down into stuff to detect what's in it (it does the same with PCM 2.0 audio channels containing Dolby E) :

    Format : MPEG-4
    Format profile : QuickTime
    Codec ID : qt 2005.03 (qt )
    File size : 64.3 GiB
    Duration : 17 min 51 s
    Overall bit rate mode : Variable
    Overall bit rate : 516 Mb/s
    Encoded date : UTC 2021-07-14 15:43:02
    Tagged date : UTC 2021-07-14 15:43:02
    Writing library : Apple QuickTime
    TIM : 00:00:00:00
    TSC : 50000
    TSZ : 1000

    Video
    ID : 1
    Format : ProRes
    Format version : Version 0
    Format profile : 422
    HDR format : SMPTE ST 2086, HDR10 compatible
    Codec ID : apcn
    Duration : 17 min 51 s
    Duration_LastFrame : 2 ms
    Bit rate mode : Variable
    Bit rate : 513 Mb/s
    Width : 3 840 pixels
    Height : 2 160 pixels
    Display aspect ratio : 16:9
    Frame rate mode : Constant
    Frame rate : 50.000 FPS
    Color space : YUV
    Chroma subsampling : 4:2:2
    Scan type : Progressive
    Bits/(Pixel*Frame) : 1.237
    Stream size : 64.0 GiB (99%)
    Writing library : Apple
    Language : English
    Encoded date : UTC 2021-07-14 15:43:02
    Tagged date : UTC 2021-07-14 15:43:02
    Color primaries : BT.2020
    colour_primaries_Original : BT.709
    Transfer characteristics : PQ
    transfer_characteristics_Original : BT.709
    Matrix coefficients : BT.2020 non-constant
    matrix_coefficients_Original : BT.709
    Mastering display color primaries : Display P3
    Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2
    Maximum Content Light Level : 1000 cd/m2
    Maximum Frame-Average Light Level : 400 cd/m2

    Audio
    ID : 2
    Format : AC-3
    Format/Info : Audio Coding 3
    Commercial name : Dolby Digital
    Format settings : Little
    Muxing mode : SMPTE ST 337
    Codec ID : in24
    Duration : 17 min 51 s
    Bit rate mode : Constant
    Bit rate : 384 kb/s
    Channel(s) : 6 channels
    Channel layout : L R C LFE Ls Rs
    Sampling rate : 48.0 kHz
    Frame rate : 31.250 FPS (1536 SPF)
    Bit depth : 16 bits
    Compression mode : Lossy
    Stream size : 49.0 MiB (0%)
    Language : English
    Service kind : Complete Main
    Encoded date : UTC 2021-07-14 15:43:02
    Tagged date : UTC 2021-07-14 15:43:02

    Other
    ID : 3
    Type : Time code
    Format : QuickTime TC
    Duration : 17 min 51 s
    Frame rate : 50.000 FPS
    Time code of first frame : 00:00:00:00
    Time code, striped : Yes
    Title : 001
    Language : English
    Encoded date : UTC 2021-07-14 15:43:02
    Tagged date : UTC 2021-07-14 15:43:02


    Just to confirm that the audio is actually 24-bit not 16-bit PCM - here's the ffmpeg report from the same Quicktime file :

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'FILE.mov':
    Metadata:
    major_brand : qt
    minor_version : 537199360
    compatible_brands: qt
    creation_time : 2021-07-14T15:43:02.000000Z
    Duration: 00:17:51.18, start: 0.000000, bitrate: 515557 kb/s
    Stream #0:0(eng): Video: prores (Standard) (apcn / 0x6E637061), yuv422p10le(tv, bt709, progressive), 3840x2160, 512916 kb/s, SAR 1:1 DAR 16:9, 50 fps, 50 tbr, 50k tbn, 50k tbc (default)
    Metadata:
    creation_time : 2021-07-14T15:43:02.000000Z
    handler_name : ?Apple Video Media Handler
    vendor_id : appl
    encoder : Apple ProRes 422
    timecode : 00:00:00:00
    Side data:
    Mastering Display Metadata, has_primaries:1 has_luminance:1 r(0.2650,0.6900) g(0.1500,0.0600) b(0.6800 0.3200) wp(0.3127, 0.3290) min_luminance=0.005000, max_luminance=4000.000000
    Content Light Level Metadata, MaxCLL=1000, MaxFALL=400
    Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
    Metadata:
    creation_time : 2021-07-14T15:43:02.000000Z
    handler_name : ?Apple Sound Media Handler
    vendor_id : [0][0][0][0]
    timecode : 00:00:00:00
    Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
    creation_time : 2021-07-14T15:43:02.000000Z
    handler_name : Time Code Media Handler
    reel_name : 001
    timecode : 00:00:00:00
    Last edited by nogginvid; 25th Nov 2021 at 06:37.
    Quote Quote  
  11. Member
    Join Date
    Nov 2021
    Location
    San Marcos, CA, USA
    Search PM
    Thanks for the help troubleshooting! At this point I think I'm going to either just leave it as 6-channel PCM (after transposing the center and LFE channel, which I found the ffmpeg command for), or I could re-package into AC3 or EAC3 (for higher bitrate). I'm a little worried about a loss of quality, but I wonder if going to 768kbps EAC3 will even be noticeable. From my sample clip, the WAV is 24MB but the EAC3 version at 768kbps is only 4MB! I'm not worried about disc space, but that's quite an improvement. But, going from compressed -> wav -> compressed again is giving me anxiety! 😅
    Quote Quote  
  12. You could transcode to FLAC which will reduce the file size a bit but remain lossless?
    Quote Quote  
  13. Member
    Join Date
    Nov 2021
    Location
    San Marcos, CA, USA
    Search PM
    Nice, with FLAC it went from 24MB to 17MB! I think I'll stick with that! Thanks again for all the help!
    Quote Quote  
  14. Originally Posted by Cannikin View Post
    Nice, with FLAC it went from 24MB to 17MB! I think I'll stick with that! Thanks again for all the help!
    No problem. I have some content which is PCM 5.1 and always encode it as FLAC to save space too
    Quote Quote  
  15. Originally Posted by Cannikin View Post
    Any updates on this adventure? The last post here sounds like it is getting as close as possible to what I want to do: extract the raw Dolby/DTS bitstream from HDMI, in any format (Atmos, TrueHD, whatever) it happens to be in. I'm looking to capture the raw bitstream from HDMI, to be remuxed back into a video stream later (using something like MKVToolNix). I don't need anything decoded, turned into PCM, etc. I just want the raw bitstream.
    If only audio is of concern, did you consider using something different?
    Looking at my own reply, I did that years ago with ESI U24 XL or M-Audio Audiophile USB
    Quote Quote  
  16. Member
    Join Date
    Jan 2003
    Location
    United States
    Search Comp PM
    I found this thread after searching for inexpensive USB video capture devices for 5.1 bitstream audio. I'm on a laptop so I'll need a USB solution and since this is just a "would be nice to have" thing I'm uninterested in putting a lot of work into it.

    This may be slightly OT, but can someone explain why it's not easy to capture the multi-channel audio bitstream from the HDMI signal? It seems like a really basic stream capture. My sources are not HDCP so it's just a stream capture. I've tested a few of those basic capture dongles with Vdub, VLC and OBS and all want to capture the audio as 2-channel PCM. I'm not clear where that conversion is happening, but I suspect Windows. I remember a tool from years ago called something like displaygraph which could be used to configure codec behavior, is there something for win10/11 which could be used to identify what windows sees coming in from the USB capture device? (or should I start my own thread for this somewhat OT question?)
    Quote Quote  
  17. Originally Posted by jeff d View Post
    I found this thread after searching for inexpensive USB video capture devices for 5.1 bitstream audio. I'm on a laptop so I'll need a USB solution and since this is just a "would be nice to have" thing I'm uninterested in putting a lot of work into it.

    This may be slightly OT, but can someone explain why it's not easy to capture the multi-channel audio bitstream from the HDMI signal? It seems like a really basic stream capture. My sources are not HDCP so it's just a stream capture. I've tested a few of those basic capture dongles with Vdub, VLC and OBS and all want to capture the audio as 2-channel PCM. I'm not clear where that conversion is happening, but I suspect Windows. I remember a tool from years ago called something like displaygraph which could be used to configure codec behavior, is there something for win10/11 which could be used to identify what windows sees coming in from the USB capture device? (or should I start my own thread for this somewhat OT question?)

    1. You have to persuade your source to output 5.1 Dolby Digital not PCM 2.0. HDMI destinations use EDID (a data stream sent from the destination back to the source) to tell their sources what formats they support. If your capture device doesn't tell your source it supports Dolby Digital - your source won't output it. That's why I had to use EDID spoofing to get my route to work (my capture solution didn't flag Dolby Digital support - but I was able to put something in between to override that and tell my source that it DID support Dolby Digital). Without that - your HDMI signal will not have any Dolby Digital audio in it to capture. If you can re-program the EDID data your capture solution sends - you don't need the intermediate spoofing device - but pretty much every capture solution (other than things like the Hauppauge HD PVR 2s) don't flag Dolby in their EDID - they just flag PCM 2.0.

    2. You have to have a bit-perfect PCM capture solution - many capture solutions aren't 100% bit perfect (the cheap USB HDMI capture dongles usually massacre audio). If you don't have a 1:1 bit perfect PCM capture - then your spoofed 'Dolby Digital captured as if it's PCM' capture won't be decodable back from the capture flagged as PCM via the ffmpeg SPDID filter to native Dolby Digital as it won't be a valid Dolby Digital signal.
    Quote Quote  
  18. Member
    Join Date
    Jan 2003
    Location
    United States
    Search Comp PM
    Originally Posted by nogginvid View Post

    1. You have to persuade your source to output 5.1 Dolby Digital not PCM 2.0. HDMI destinations use EDID (a data stream sent from the destination back to the source) to tell their sources what formats they support. If your capture device doesn't tell your source it supports Dolby Digital - your source won't output it. That's why I had to use EDID spoofing to get my route to work (my capture solution didn't flag Dolby Digital support - but I was able to put something in between to override that and tell my source that it DID support Dolby Digital). Without that - your HDMI signal will not have any Dolby Digital audio in it to capture. If you can re-program the EDID data your capture solution sends - you don't need the intermediate spoofing device - but pretty much every capture solution (other than things like the Hauppauge HD PVR 2s) don't flag Dolby in their EDID - they just flag PCM 2.0.
    That makes perfect sense, so the problem is that capture device responds with supported audio as PCM (or no response and the source defaults to PCM). I was aware of this format negotiation with video, but never thought about audio because for formats like DTS the source historically asks the user to confirm that DTS is correctly delivered before fully enabling DTS. Sounds like current HDMI protocols may do a better job with the many audio formats. Thanks for the explanation.

    What device did you use to "trick" the source for DD output?
    Quote Quote  
  19. Originally Posted by sebus View Post
    That's not the actual model I used - this is https://www.amazon.co.uk/HDMI-Splitter-1x2-4K-60Hz/dp/B083JVPXDY

    I connected HDMI output 1 in my regular chain, and set the EZCOO EDID to 'Copy 1'. I connected HDMI output 2 to my BlackMagic capture solution. The EDID sent to my source was from my HDMI 1 chain (i.e. my AVR and TV that support Dolby Digital), and it ignored the EDID of the destination (my capture solution) connected to HDMI output 2 - so both HDMI 1 and HDMI 2 outputs contained Dolby Digital audio.

    I haven't tested DTS - but DD+ didn't work.
    Quote Quote  
  20. yes my capture card can capture 4k sdr, 4k hdr, 4k hlg, 1080p in lossless format
    Quote Quote  
  21. Originally Posted by FLP437 View Post
    After exchanging information with the developer of VD2 he proposed a new workaround based on ffmpeg spdif (IEC-61937 encapsulation of various formats, used by S/PDIF) that seems to work well and seems much better than mine.

    He found the audio file consists of packets which begin with burst header 72F81F4E01000038, then follows payload of 3800h bits = 1792 bytes (bigendian value 0038 from burst header), then zeroed padding, then new packet.
    First 2 bytes of the payload (770B) are also magic bytes for ac3 stream, and format 01 from burst header also identifies ac3 (for some reason this does not match magewell sdk example where code 03 is used).

    The idea is simple capture a video with a bit accurate audio stream in VD2, demux audio, process externally to get a valid ac3 stream and remux again......
    Any idea what/if needs to be selected for DTS capture?

    sebus

    edit:
    I can load edited bin (with DTS instead of AC3)

    Pro Capture HDMI_DTS.7z

    Then in VD2 had to select first audio device (not WDM), it allows to chose for capture 44.1 /16 PCM, and what is captured is DTS (according to Mediainfo)
    Last edited by sebus; 13th Feb 2022 at 12:43.
    Quote Quote  
  22. Originally Posted by sebus View Post
    Originally Posted by FLP437 View Post
    After exchanging information with the developer of VD2 he proposed a new workaround based on ffmpeg spdif (IEC-61937 encapsulation of various formats, used by S/PDIF) that seems to work well and seems much better than mine.

    He found the audio file consists of packets which begin with burst header 72F81F4E01000038, then follows payload of 3800h bits = 1792 bytes (bigendian value 0038 from burst header), then zeroed padding, then new packet.
    First 2 bytes of the payload (770B) are also magic bytes for ac3 stream, and format 01 from burst header also identifies ac3 (for some reason this does not match magewell sdk example where code 03 is used).

    The idea is simple capture a video with a bit accurate audio stream in VD2, demux audio, process externally to get a valid ac3 stream and remux again......
    Any idea what/if needs to be selected for DTS capture?

    sebus

    edit:
    I can load edited bin (with DTS instead of AC3)

    Then in VD2 had to select first audio device (not WDM), it allows to chose for capture 44.1 /16 PCM, and what is captured is DTS (according to Mediainfo)
    Aha - if DTS-over-HDMI uses 44.1k instead of 48k sampling then my BlackMagic solution using their software won't work I suspect - as I think the software I'm using defaults to 48k audio (not sure if the BMD stuff is easy to get to capture in 44.1 - possibly the SDK allows it?)
    Quote Quote  
  23. I think this attempt was totally wrong. DVD captured DTS (as described above, for test only!) is not actually DTS at all (Mediainfo says so, but nothing plays it as such)
    Tried as above (44.1/16) and also WDM 48/16

    Image
    [Attachment 63344 - Click to enlarge]


    Depending what version of wav2dts I use I get various errors:

    W:\>c:\Wav2dts.exe .\be2.wav
    FileSize : 5829224 bytes
    Initial invalid bytes : 1912
    Header 16le. Use SwapEnd to obtain a standard 16be.

    W:\>c:\wav2dts1.exe .\be2.wav
    Don't found any valid dts header in first 99998 bytes.

    Definitely doing something wrong here... hopefully FLP437 can chip in
    Last edited by sebus; 13th Feb 2022 at 12:44.
    Quote Quote  
  24. Originally Posted by sebus View Post
    I think this attempt was totally wrong. DVD captured DTS (as described above, for test only!) is not actually DTS at all (Mediainfo says so, but nothing plays it as such)
    Tried as above (44.1/16) and also WDM 48/16

    Image
    [Attachment 63344 - Click to enlarge]


    Depending what version of wav2dts I use I get various errors:

    W:\>c:\Wav2dts.exe .\be2.wav
    FileSize : 5829224 bytes
    Initial invalid bytes : 1912
    Header 16le. Use SwapEnd to obtain a standard 16be.

    W:\>c:\wav2dts1.exe .\be2.wav
    Don't found any valid dts header in first 99998 bytes.

    Definitely doing something wrong here... hopefully FLP437 can chip in
    What happens if you convert from little-endian to big-endian before processing?
    Quote Quote  
  25. If I do it with sox using -x I get:

    E:\>Wav2dts.exe sou2.wav
    FileSize : 5661700 bytes
    Initial invalid bytes : 748
    Header 16be. Seems is already a standard DTS 16be.

    Absolutely spot on observation!

    It is direct capture DTS (from DVD, will test LD later)
    Last edited by sebus; 13th Feb 2022 at 12:02.
    Quote Quote  
  26. Originally Posted by sebus View Post
    Using what (the conversion?)
    ffmpeg will happily convert between them. (It defines the byte order for 16 bit audio carried in two bytes I believe)

    e.g.
    ffmpeg -i "input_big_endian.file" -codec:a pcm_s16le "output_little_endian.file"
    or
    ffmpeg -i "input_little_endian.file" -codec:a pcm_s16be "output_big_endian.file"

    That will take a file in one format and convert it to the other format (the s stands for signed audio i.e. goes +ve and -ve centred on zero - which most audio is)
    Quote Quote  
  27. OK, so been doing some random test, like nogginvid in post #90. Short, only 1 min each

    Used Avermedia Extremecap U3, Windows 10 with Windows 8.1 drivers Win81_x64_V1.0.64.33
    Testing using LG Bluray (because it is small and handy to move around, and spare)
    To get rid of HDCP I used some cheap like this HDMI Converter (HDMI to HDMI+Audio), one with dip switch for Passthrough, 2.0, 5.1

    Set dip switch to 5.1, selected in a DVD menu audio DD 5.1 & captured with AmarecTV, then done the same with DTS

    In both cases audio recorded as bitstream

    Needed processing (after Save audio in VD2), AC3 as per FLP437 suggestion:

    Code:
    ffmpeg.exe -f spdif -i in_audio_ac3.wav -c copy -f ac3 out_audio_ac3.ac3
    and DTS with
    Code:
    sox input.wav -x output.dts.wav
    The original captures attached (in case anybody finds the process useful)

    I could not replicate it with my cheapo USB to HDMI UCV dongle (wonder if UCV/A standard prevents it, or just the hardware I used)

    edit:
    Also tested with Elgato Camlink 4K and the result was identical to the cheapo above, totally messed up audio, so probably it is UCV/UCA issue, I am sure somebody knows better...

    edit 2:
    Tested same setup with Blackmagic DeckLink Mini Recorder
    The result was also positive (both AC3 & DTS recorded correctly)

    sebus
    Image Attached Files
    Last edited by sebus; 4th Mar 2022 at 13:01.
    Quote Quote  
  28. Originally Posted by nogginvid View Post
    Originally Posted by sebus View Post
    That's not the actual model I used - this is https://www.amazon.co.uk/HDMI-Splitter-1x2-4K-60Hz/dp/B083JVPXDY
    In post #90 you actually mention yet another one: https://www.amazon.co.uk/HDMI-Audio-Extractor-60Hz-embed/dp/B07TZRXKYG/
    Quote Quote  
  29. Originally Posted by sebus View Post
    Originally Posted by nogginvid View Post
    Originally Posted by sebus View Post
    That's not the actual model I used - this is https://www.amazon.co.uk/HDMI-Splitter-1x2-4K-60Hz/dp/B083JVPXDY
    In post #90 you actually mention yet another one: https://www.amazon.co.uk/HDMI-Audio-Extractor-60Hz-embed/dp/B07TZRXKYG/
    Apologies - I did use the HDMI Audio extractor initially - but it doesn't spoof HLG HDR EDID (so it allowed HD SDR and UHD SDR capture but not HLG HDR SDR), so I for most of my captures I used the 4K 2:1 splitter for UHD HLG HDR and 5.1 DD capture (with an HLG EDID source connected to HDMI 1 output, my capture card to HDMI 2, and the splitter set to 'EDID COPY HDMI 1' settings - so flagging both 5.1 DD and HLG HDR). This allows Sky Q capture of UHD HLG with 5.1 DD.

    I did email asking EZCOO if they could add HLG EDID to their firmware for the audio extractor but they appeared confused by the request...
    Last edited by nogginvid; 26th Feb 2022 at 07:36.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!