Header: it seems that default mplex can mux 3 min test multichannel mpeg audio (mp2) audio just fine ...
https://cloud.mail.ru/public/v5K7/5gRpkx25k - 9 mb mp2 file so I basically did DVD with cinelerra-gg from matrixbench clip (w/ ac3 sound from samples .mplayerhq.hu) then I rendered out audio separately in AIFF. sadly libsndfile defaults to new compressed AIFF. sox repacked it into older format encoder understand sox /dev/shm/dvd_20240125-144543/dvd.aif /dev/shm/dvd_20240125-144543/dvd.aiff ======= encoder run: /home/guest/botva/src/src/mctoolame-01a/mctoolame -x 1 -y 2 -D -L -w /dev/shm/dvd_20240125-144543/dvd.aiff bash-5.1$ /home/guest/botva/src/src/mctoolame-01a/mctoolame -x 1 -y 2 -D -L -w /dev/shm/dvd_20240125-144543/dvd.aiff ISO MPEG Audio Subgroup Software Simulation Group (1996) ISO 13818-3 MPEG-2 Audio Multichannel Encoder $Revision: 2.0 $ Num. ch: 6 Sample frames 9006723 Sample size in bits 16 Sample rate 48000.000000 Sound data is not PCM in "/dev/shm/dvd_20240125-144543/dvd.aiff". >>> Using 3/2 configuration. Encoding configuration: Layer=II mode=stereo extn=0 psy model=1 samp frq=48.0 kHz mpeg1 bitrate=384 kbps No multilingual coding. de-emph=0 c/right=0 orig=0 errprot=0 matrix=1 center=1 surround=2 stereo=2 stereomc=3 stereoaug=0 input file: '/dev/shm/dvd_20240125-144543/dvd.aiff' output file: '/dev/shm/dvd_20240125-144543/dvd.aiff.mp2' Then decoder run: bash-5.1$ /home/guest/botva/src/src/lamedecoder/mctoolamed /dev/shm/dvd_20240125-144543/dvd.aiff ISO MPEG Audio Subgroup Software Simulation Group (1996) ISO 13818-3 MPEG-2 Audio Multichannel Decoder $Revision: 2.2 $ Could not find "/dev/shm/dvd_20240125-144543/dvd.aiff.ext". No extension bitstream </dev/shm/dvd_20240125-144543/dvd.aiff.ext> present Input file = '/dev/shm/dvd_20240125-144543/dvd.aiff.mp2' Output file = '/dev/shm/dvd_20240125-144543/dvd.aiff.aiff' >>> A MPEG 2 Layer-1/2 bitstream will be decoded Output file written in AIFF format the bit stream file /dev/shm/dvd_20240125-144543/dvd.aiff.mp2 is a BINARY file HDR: s=FFF, id=1, l=2, ep=1, br=E, sf=1, pd=0, pr=0, m=0, js=0, c=0, o=0, e=0 layer=II, MPEG1-bitrate=384, sfrq=48.0, mode=stereo, sblim=27, jsbd=27, MPEG1-ch=2 mc-channel=3, MPEG2-ext-length=0 kbit/s lfe-channel present LFE file written in AIFF format initialising 5 output files next mpg header not found Frame cannot be located, end of input stream Decoding of "/dev/shm/dvd_20240125-144543/dvd.aiff.mp2" with 7819 frames is finished The decoded PCM output file name is "/dev/shm/dvd_20240125-144543/dvd.aiff.aiff" "/dev/shm/dvd_20240125-144543/dvd.aiff.aiff" has been written with AIFF header information ========== then test audio (-P mode, predictive, seems to be broken in encoder) bash-5.1$ cin /dev/shm/dvd_20240125-144543/dvd.aiff.aiff /dev/shm/dvd_20240125-144543/dvd.aiff_lfe.dec Cinelerra Infinity - built: Dec 22 2023 12:26:23 git://git.cinelerra-gg.org/goodguy/cinelerra.git (c) 2006-2019 Heroine Virtual Ltd. by Adam Williams 2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy 2003-2017 mods for Cinelerra-CV by CinelerraCV team 2015-2023 mods for Cinelerra-GG by Cinelerra-GG team Libav version: Lavc60.31.102 Cinelerra is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. There is absolutely no warranty for Cinelerra. RenderFarmClient::main_loop: client started AudioALSA::write_buffer err -32(Broken pipe) at sample 6275072 Total excess of backups: -50 Session time: 0:06:27 Cpu time: user: 0:00:23.504 sys: 0:00:05.709 move LFE to track 3 I think. ========= move file so mplex will recognize it bash-5.1$ mv /dev/shm/dvd_20240125-144543/dvd.aiff.mp2 /dev/shm/dvd_20240125-144543/dvd.mp2 bash-5.1$ /dev/shm/dvd_20240125-144543/dvd.sh running /dev/shm//dvd_20240125-144543/dvd.sh INFO: [mplex] mplex version 2.2.1 (2.2.7 $Date: 2012-11-17 01:55:16 $) INFO: [mplex] File /dev/shm/dvd_20240125-144543/dvd.m2v looks like an MPEG Video stream. INFO: [mplex] File /dev/shm/dvd_20240125-144543/dvd.mp2 looks like an MPEG Audio stream. INFO: [mplex] Video stream 0: profile 8 selected - ignoring non-standard options! INFO: [mplex] Found 1 audio streams, 1 video streams and 0 subtitle streams INFO: [mplex] Selecting dvdauthor DVD output profile INFO: [mplex] Multiplexing video program stream! INFO: [mplex] Scanning for header info: Video stream e0 (/dev/shm/dvd_20240125-144543/dvd.m2v) INFO: [mplex] VIDEO STREAM: e0 INFO: [mplex] Frame width : 720 INFO: [mplex] Frame height : 576 INFO: [mplex] Aspect ratio : 4:3 display INFO: [mplex] Picture rate : 25.000 frames/sec INFO: [mplex] Bit rate : 8000000 bits/sec INFO: [mplex] Vbv buffer size : 229376 bytes INFO: [mplex] CSPF : 0 INFO: [mplex] Scanning for header info: Audio stream c0 (/dev/shm/dvd_20240125-144543/dvd.mp2) INFO: [mplex] MPEG AUDIO STREAM: c0 INFO: [mplex] Audio version : 1.0 INFO: [mplex] Layer : 2 INFO: [mplex] CRC checksums : no INFO: [mplex] Bit rate : 49152 bytes/sec (384 kbit/sec) INFO: [mplex] Frequency : 48000 Hz INFO: [mplex] Mode : 0 stereo INFO: [mplex] Mode extension : 0 INFO: [mplex] Copyright bit : 0 no copyright INFO: [mplex] Original/Copy : 0 copy INFO: [mplex] Emphasis : 0 none INFO: [mplex] SYSTEMS/PROGRAM stream: INFO: [mplex] rough-guess multiplexed stream data rate : 8566496 INFO: [mplex] target data-rate specified : 10080000 INFO: [mplex] Setting specified specified data rate: 10080000 INFO: [mplex] Run-in delay = 7200 Video delay = 7200 Audio delay = 10800 INFO: [mplex] New sequence commences... INFO: [mplex] Video e0: buf= 0 frame=000000 sector=00000000 INFO: [mplex] Audio c0: buf= 0 frame=000000 sector=00000000 INFO: [mplex] Scanned to end AU 4690 INFO: [mplex] STREAM e0 completed INFO: [mplex] STREAM c0 completed INFO: [mplex] Multiplex completion at SCR=16893513. INFO: [mplex] Video e0: completed INFO: [mplex] Audio c0: completed INFO: [mplex] VIDEO_STATISTICS: e0 INFO: [mplex] Video Stream length: 185629369 bytes INFO: [mplex] Sequence headers: 313 INFO: [mplex] Sequence ends : 1 INFO: [mplex] No. Pictures : 4691 INFO: [mplex] No. Groups : 313 INFO: [mplex] No. I Frames : 313 avg. size 55155 bytes INFO: [mplex] No. P Frames : 4378 avg. size 38457 bytes INFO: [mplex] No. B Frames : 0 avg. size 0 bytes INFO: [mplex] Average bit-rate : 7914000 bits/sec INFO: [mplex] Peak bit-rate : 9047200 bits/sec INFO: [mplex] BUFFERING min 15 Buf max 176717 INFO: [mplex] AUDIO_STATISTICS: c0 INFO: [mplex] Audio stream length 9007488 bytes. INFO: [mplex] Syncwords : 7819 INFO: [mplex] Frames : 7819 padded INFO: [mplex] Frames : 0 unpadded INFO: [mplex] BUFFERING min 15 Buf max 1163 INFO: [mplex] MUX STATUS: no under-runs detected. DVDAuthor::dvdauthor, version 0.7.2. Build options: gnugetopt imagemagick iconv freetype fribidi fontconfig Send bug reports to <dvdauthor-us...@lists.sourceforge.net> INFO: default video format is PAL INFO: dvdauthor creating VTS STAT: Picking VTS 01 STAT: Processing /dev/shm/dvd_20240125-144543/dvd.mpg... STAT: VOBU 304 at 182MB, 1 PGCs INFO: Video pts = 0.120 .. 187.760 INFO: Audio[8] pts = 0.120 .. 187.776 STAT: VOBU 313 at 188MB, 1 PGCs CHAPTERS: VTS[1/1] 0.000 INFO: Generating VTS with the following video attributes: INFO: MPEG version: mpeg2 INFO: TV standard: pal INFO: Aspect ratio: 4:3 INFO: Resolution: 720x576 INFO: Audio ch 0 format: mp2/2ch, 48khz 20bps, 'en' STAT: fixed 313 VOBUs INFO: dvdauthor creating table of contents INFO: Scanning /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VTS_01_0.IFO To burn dvd, load blank media and run: growisofs -dvd-compat -Z /dev/dvd -dvd-video /dev/shm/dvd_20240125-144543/iso Завершено dvd.sh was modded so it look fr m2 instead of ac3 ================= Test in mpv: bash-5.1$ mpv /dev/shm/dvd_20240125-144543/iso [file] This is a directory - adding to playlist. Playing: /dev/shm/dvd_20240125-144543/iso/AUDIO_TS [file] This is a directory - adding to playlist. Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS [file] This is a directory - adding to playlist. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VIDEO_TS.BUP Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VIDEO_TS.IFO Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VTS_01_0.BUP Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VTS_01_0.IFO Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VTS_01_1.VOB (+) Video --vid=1 (mpeg2video 720x576 25.000fps) (+) Audio --aid=1 (mp2 2ch 48000Hz) AO: [alsa] 48000Hz stereo 2ch s16 VO: [gpu] 720x576 => 768x576 yuv420p [ffmpeg/audio] mp2: Header missing Error decoding audio. [ffmpeg/audio] mp2: Header missing Error decoding audio. [ffmpeg/audio] mp2: Header missing Error decoding audio. [ffmpeg/audio] mp2: Header missing Error decoding audio. AV: 00:00:28.680 / 00:03:07.632 (15%) A-V: 0.000 Exiting... (Quit) bash-5.1$ mpv -af volume=20 /dev/shm/dvd_20240125-144543/iso [file] This is a directory - adding to playlist. Playing: /dev/shm/dvd_20240125-144543/iso/AUDIO_TS [file] This is a directory - adding to playlist. Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS [file] This is a directory - adding to playlist. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VIDEO_TS.BUP Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VIDEO_TS.IFO Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VTS_01_0.BUP Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VTS_01_0.IFO Failed to recognize file format. Playing: /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VTS_01_1.VOB (+) Video --vid=1 (mpeg2video 720x576 25.000fps) (+) Audio --aid=1 (mp2 2ch 48000Hz) AO: [alsa] 48000Hz stereo 2ch float VO: [gpu] 720x576 => 768x576 yuv420p [ffmpeg/audio] mp2: Header missing Error decoding audio. [ffmpeg/audio] mp2: Header missing Error decoding audio. [ffmpeg/audio] mp2: Header missing Error decoding audio. [ffmpeg/audio] mp2: Header missing Error decoding audio. [ffmpeg/audio] mp2: Header missing Error decoding audio. AV: 00:01:29.800 / 00:03:07.632 (48%) A-V: 0.000 Exiting... (Quit) ========== copy mp2 file out from VOB by ffmpeg: bash-5.1$ ffmpeg -i /dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VTS_01_1.VOB -c:a copy -vn copy.mp2 ffmpeg version 4.4.4 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 11.2.0 (GCC) configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --docdir=/usr/doc/ffmpeg-4.4.4/html --mandir=/usr/man --disable-debug --enable-shared --disable-static --enable-gpl --enable-version3 --enable-avresample --arch=i586 --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-libass --enable-libbluray --enable-libcdio --enable-frei0r --enable-libgsm --enable-openal --enable-libopus --enable-librtmp --enable-libsnappy --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libmp3lame --enable-opencl --enable-opengl --enable-libopenjpeg --disable-libpulse --enable-libsmbclient --enable-libsvtav1 --enable-libxml2 --enable-librsvg --enable-libdrm --enable-libaom --enable-libdav1d --enable-libsoxr --enable-libzimg --enable-vapoursynth 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, mpeg, from '/dev/shm/dvd_20240125-144543/iso/VIDEO_TS/VTS_01_1.VOB': Duration: 00:03:07.63, start: 0.120000, bitrate: 8435 kb/s Stream #0:0[0x1bf]: Data: dvd_nav_packet Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg, top first), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc Side data: cpb: bitrate max/min/avg: 8000000/0/0 buffer size: 1835008 vbv_delay: N/A Stream #0:2[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 384 kb/s File 'copy.mp2' already exists. Overwrite? [y/N] y Output #0, mp2, to 'copy.mp2': Metadata: encoder : Lavf58.76.100 Stream #0:0: Audio: mp2, 48000 Hz, stereo, s16p, 384 kb/s Stream mapping: Stream #0:2 -> #0:0 (copy) Press [q] to stop, [?] for help size= 8796kB time=00:03:07.63 bitrate= 384.0kbits/s speed=1.4e+03x video:0kB audio:8796kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000% ==== Decode it: bash-5.1$ /home/guest/botva/src/src/lamedecoder/mctoolamed copy ISO MPEG Audio Subgroup Software Simulation Group (1996) ISO 13818-3 MPEG-2 Audio Multichannel Decoder $Revision: 2.2 $ Could not find "copy.ext". No extension bitstream <copy.ext> present Input file = 'copy.mp2' Output file = 'copy.aiff' >>> A MPEG 2 Layer-1/2 bitstream will be decoded Output file written in AIFF format the bit stream file copy.mp2 is a BINARY file HDR: s=FFF, id=1, l=2, ep=1, br=E, sf=1, pd=0, pr=0, m=0, js=0, c=0, o=0, e=0 layer=II, MPEG1-bitrate=384, sfrq=48.0, mode=stereo, sblim=27, jsbd=27, MPEG1-ch=2 mc-channel=3, MPEG2-ext-length=0 kbit/s lfe-channel present LFE file written in AIFF format initialising 5 output files next mpg header not found Frame cannot be located, end of input stream Decoding of "copy.mp2" with 7819 frames is finished The decoded PCM output file name is "copy.aiff" "copy.aiff" has been written with AIFF header information ========== test it again cin copy.aiff copy_lfe.dec Cinelerra Infinity - built: Dec 22 2023 12:26:23 git://git.cinelerra-gg.org/goodguy/cinelerra.git (c) 2006-2019 Heroine Virtual Ltd. by Adam Williams 2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy 2003-2017 mods for Cinelerra-CV by CinelerraCV team 2015-2023 mods for Cinelerra-GG by Cinelerra-GG team Libav version: Lavc60.31.102 Cinelerra is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. There is absolutely no warranty for Cinelerra. RenderFarmClient::main_loop: client started Total excess of backups: -50 Session time: 0:01:12 Cpu time: user: 0:00:09.453 sys: 0:00:01.637 =========== both encoder and decoder should work on 64 bit machines, but LE (little endian) only at the moment! src https://github.com/Randrianasulu/mctoolame-experiments-enc https://github.com/Randrianasulu/mctoolame-experiments get files, run 'make' in their roots. (makefile may need some tweaking) _______________________________________________ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users