การตีความเอาต์พุตของ ffprobe สำหรับสตรีม WAV


0

tl; dr: ([1][0][0][0] / 0x0001)หมายความว่าอย่างไร


ffprobe test.wav ผลิต:

ffprobe version 3.3.3 Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --disable-ffserver --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libtheora --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libwavpack --enable-nvenc --enable-libzimg
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Input #0, wav, from 'test.wav':
  Metadata:
    encoder         : Lavf57.71.100
  Duration: 00:00:10.00, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 2 channels, s16, 1536 kb/s

ฉันจะตีความสตรีมเสียงได้อย่างไร นี่คือสิ่งที่ฉันเข้าใจ:

  • Stream #0:0: กระแสแรก
  • Audio: ไม่แปลกใจที่นี่ ...
  • pcm_s16le: Pulse Coded Modulation โดยที่แต่ละตัวอย่างเป็นจำนวนเต็ม little-endian จำนวนเต็ม 16 บิต
  • ([1][0][0][0] / 0x0001): ???
  • 48000 Hz: อัตราตัวอย่าง
  • 2 channels ระบบเสียงสเตอริโอ
  • s16: จำนวนเต็ม 16 บิตที่ลงชื่อแล้วหรือยัง
  • 1536 kb/s: อัตราการส่งข้อมูล

คำตอบ:


2

ใน([1][0][0][0] / 0x0001), 0x0001แท็กตัวแปลงสัญญาณและ[1][0][0][0]เป็นสตริงที่ได้มาจากแท็กนั้น หากแท็กเข้ารหัสอักขระที่พิมพ์ได้สตริงจะมีอักขระดังกล่าว

0x6134706d-> mp4awhere (hex) 6d == 'm', 70 == 'p', 34 == '4' และ 61 == 'a'

PCM_S16LE มีแท็ก 0x0001

s16ลงนาม 16- บิต interleaved คือสำหรับกระแสสเตอริโอถอดรหัสจะส่ง {ตัวอย่างสำหรับช่อง 1 ตัวอย่างของช่อง 2 ตัวอย่างสำหรับช่อง 1 ... } ตัวเลือกอื่นคือs16pซึ่งเป็นภาพถ่าย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.