[Cin] DVD compliant MPEG-2 Video and PCM Audio
Terje J. Hanssen
terjejhanssen at gmail.com
Thu Mar 9 07:57:42 CET 2023
Den 08.03.2023 14:14, skrev Terje J. Hanssen:
>
>
> Den 06.03.2023 21:30, skrev Andrew Randrianasulu:
>>
>>
>> пн, 6 мар. 2023 г., 23:00 Andrew Randrianasulu <randrianasulu at gmail.com>:
>>
>>
>>
>> пн, 6 мар. 2023 г., 22:51 Terje J. Hanssen <terjejhanssen at gmail.com>:
>>
>>
>>
>> Den 06.03.2023 15:02, skrev Andrew Randrianasulu:
>>> I think you need another software like (q)dvdauthor or
>>> dvdstyler to make DVD - they use *program* streams, not
>>> transport streams as tsMuxer creates ...
>>
>> I thought first to use mkisofs, but didnt really find out the
>> relevant syntax to make a video dvd iso from the ffmpeg
>> created dv28.mpg file with pcm audio.
>>
>> Had a quick look in DVD styler, but for audio it seemed to
>> support only AC3 or MP2 audio.
>>
>>
>>
>> I think because project still active you can look at their
>> support place and see if anyone made request for this already, or
>> if not - log your own.
>>
>> https://sourceforge.net/p/dvdstyler/discussion/318795/thread/00ecc86f13/
>>
>>
>> =====
>> If you use Mplex for muxing then Mplex will abort with a message
>> that it cannot recognize the audio stream. This is an Mplex
>> issue. It is no problem for Mplex to mux an LPCM audio stream,
>> but the file must have the extension "lpcm". You can verify this
>> by renaming the audio file in the DVDStyler cache folder and give
>> it the "lpcm" extension. Then feed the video and this renamed
>> audio stream to Mplex for muxing, and you will get a perfect
>> MPEG2 file with PCM audio.
>>
>> ====
>>
>>
>>
>> Also from mjpegtools mail list archive:
>>
>> https://www.mail-archive.com/mjpeg-users@lists.sourceforge.net/msg06753.html
>>
>> https://www.mail-archive.com/mjpeg-users@lists.sourceforge.net/msg06759.html
>>
>> apparently you must use one big mpeg file in this case
>>
>> =====
>>
>>
>> bn
>> <https://www.mail-archive.com/search?l=mjpeg-users@lists.sourceforge.net&q=from:%22bn%22>
>> Fri, 05 May 2006 20:02:05 -0700
>> <https://www.mail-archive.com/search?l=mjpeg-users@lists.sourceforge.net&q=date:20060505>
>>
>>
>> Well folks(?),
>>
>> No responses but I appear to have made some headway, which I'll share
>> here in case someone's out there somewhere scratching their own head
>> over this.
>>
>> The problem seems to have to do with dvdauthor's STC discontinuity at
>> the chapter points when it's fed one file per chapter; the initial
>> pts/dts values are reset, and this somehow throws things off during
>> playback, even if audio and video endpoints are perfectly aligned.
>>
>> If the whole titleset is mplexed as one mpg and then dvdauthored with
>> chapter- point offsets, the gaps disappear. Also, if the chapter
>> points aren't aligned to GOP boundaries, dvdauthor will do it anyway
>> and shift them backwards.
>>
>> Bahman
>>
>> =====
>>
>> I hope this workflow is not bitrotted. According to man page from
>> https://linux.die.net/man/1/mplex mplex accept lpcm params:
>>
>>
>> ===
>>
>> *L|--lpcm-params*
>> /samples_per_sec:channels:bits_per_sample/
>> [, /samples_per_sec:channels:bits_per_sample/ ...]
>>
>> A comma-seperated list of paramter sets for the lpcm audio
>> streams (given in the order the lpcm streams appear on the
>> command line). Each parameter set comprises the sampling rate in
>> Hz, the number of channels, and the number of bits per sample
>> seperated by colons. For example, the default 48kHz two-channel
>> 16-bit audio would be specified as 48000:2:16.
>>
>> Note: these parameters are necessary because mplex expects raw LPCM
>> audio data without any headers. That is: for each sample point a
>> group of 16,20, or 24 bit amplitude values, one for each channel.
>> Amplitude values are signed with the constituent bytes in
>> big-endian (most significant bytes first) order. For 20 bit
>> samples I am not sure but what documentation I have suggests such
>> samples are padded at the lsb end so that they byte-align at the
>> most significant bits.
>>
>>
>> ====
>>
>>
>> https://www.mail-archive.com/search?l=mjpeg-users%40lists.sourceforge.net&q=lpcm
>> <https://www.mail-archive.com/search?l=mjpeg-users%40lists.sourceforge.net&q=lpcm>
>>
>> some more reading from 2005-6 era.
>
>
> Not a direct respons, but I think I have come a step forward via a
> five years old ffmpeg bug report:
>
> https://trac.ffmpeg.org/ticket/6782
> Doesn't produce MPEGPS-MPEG-2-LPCM compliant output (-target, -f
> dvd, -f vob). Buffer underflow appear.
> pcm_dvd added; mpegps -target removed
>
> There is obviously a deticated "pcm_dvd" codec for ffmpeg,
> correspondingly to the later "pcm_bluray".
> So I verified this on my ffmpeg 5.1.2 built from Packman for
> Tumbleweed and found:
>
> ffmpeg -hide_banner -codecs | egrep "pcm_bluray|pcm_dvd"
> DEAI.S pcm_bluray PCM signed 16|20|24-bit big-endian
> for Blu-ray media
> DEAI.S pcm_dvd PCM signed 20|24-bit big-endian
>
>
> Transcoded input raw DV with PCM audio to MPEG-2 video pcm_dvd audio
> in a VOB/MPG format:
>
> ffmpeg -hide_banner -i dv01.dv -c:v mpeg2video -refs 1 -bf 2 -b:v
> 8M -maxrate 8M -minrate 8M -bufsize 20M -muxrate 11M -dc 10 -c:a
> *pcm_dvd* -f vob -flags +ilme+ildct dv01.mpg
> ............ still a lot of
> [vob @ 0x562a8c68f240] buffer underflow st=1 bufi=1392 size=2008
> Last message repeated 6 times
> [vob @ 0x562a8c68f240] buffer underflow st=1 bufi=1396 size=2008
> frame=14912 fps=298 q=3.9 Lsize= 703652kB time=00:09:56.48
> bitrate=9663.9kbits/s speed=11.9x
> video:582644kB audio:112007kB subtitle:0kB other streams:0kB
> global headers:0kB muxing overhead: 1.295818%
>
>
> du -sh *.dv *.mpg
> 2,0G dv01.dv
> 688M dv01.mpg
>
>
> Verified that the ffmpeg *dv01.mpg* output file contains *pcm_dvd*
>
> ffprobe -hide_banner dv01.mpg
>
> Input #0, mpeg, from 'dv01.mpg':
> Duration: 00:09:56.48, start: 0.540000, bitrate: 9663 kb/s
> Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
> bottom first), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn
> Side data:
> cpb: bitrate max/min/avg: 8000000/0/0 buffer size:
> 20004864 vbv_delay: N/A
> Stream #0:1[0xa0]: Audio: *pcm_dvd*, 48000 Hz, stereo, s16,
> 1536 kb/s
>
>
> The DVD structure and video files from DeVeDe is now being transcoded
> from pcm_dvd to AC-3 audio:
>
> tree ./dv01_tw_DVD -sh
>
> [4.0K] ./dv01_tw_DVD
> ├── [500M] dv01_tw_DVD.iso
> ├── [4.0K] dvd_tree
> │ ├── [4.0K] AUDIO_TS
> │ └── [4.0K] VIDEO_TS
> │ ├── [ 12K] VIDEO_TS.BUP
> │ ├── [ 12K] VIDEO_TS.IFO
> │ ├── [ 32K] VIDEO_TS.VOB
> │ ├── [ 18K] VTS_01_0.BUP
> │ ├── [ 18K] VTS_01_0.IFO
> │ ├── [3.1M] VTS_01_0.VOB
> │ ├── [ 32K] VTS_01_1.VOB
> │ ├── [ 24K] VTS_02_0.BUP
> │ ├── [ 24K] VTS_02_0.IFO
> │ ├── [ 32K] VTS_02_0.VOB
> │ └── [496M] VTS_02_1.VOB
> ├── [4.0K] menu
> │ ├── [1.9K] menu_0_active_bg.png
> │ ├── [ 61K] menu_0_bg.png
> │ ├── [3.1M] menu_0B.mpg
> │ ├── [3.1M] menu_0.mpg
> │ ├── [1.9K] menu_0_selected_bg.png
> │ ├── [1.7K] menu_0_unselected_bg.png
> │ └── [ 451] menu_0.xml
> ├── [4.0K] movies
> │ └── [496M] movie_0.mpg
> └── [4.0K] xml_data
> └── [1.7K] dvdauthor.xml
>
> 7 directories, 21 files
>
>
>
> ffprobe -hide_banner dv01_tw_DVD/dvd_tree/VIDEO_TS/VTS_02_1.VOB
>
> Input #0, mpeg, from 'dv01_tw_DVD/dvd_tree/VIDEO_TS/VTS_02_1.VOB':
> Duration: 00:09:56.49, start: 0.534667, bitrate: 6970 kb/s
> Stream #0:0[0x1bf]: Data: dvd_nav_packet
> Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
> progressive), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn
> Side data:
> cpb: bitrate max/min/avg: 7500000/0/0 buffer size:
> 1835008 vbv_delay: N/A
> Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 224 kb/s
>
>
>
> ffprobe -hide_banner dv01_tw_DVD/movies/movie_0.mpg
>
> [mpeg @ 0x555ff4407ec0] start time for stream 0 is not set in
> estimate_timings_from_pts
> Input #0, mpeg, from 'movie_0.mpg':
> Duration: 00:09:56.49, start: 0.534667, bitrate: 6970 kb/s
> Stream #0:0[0x1bf]: Data: dvd_nav_packet
> Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
> progressive), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn
> Side data:
> cpb: bitrate max/min/avg: 7500000/0/0 buffer size:
> 1835008 vbv_delay: N/A
> Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 224 kb/s
> Unsupported codec with id 98312 for input stream 0
>
>
> I looks like DeVeDeNG version 4.17 possibly doesn't support pcm_dvd
> yet. To get this clarified I have written to the author to try to get
> this clarified.
> My first impression of this program is that I got taste for its
> simplicity and straight forward use, yet relative comprehensive behind
> the buttons.
>
> https://gitlab.com/rastersoft/devedeng
> https://www.rastersoft.com/programas/devede.html
> https://www.xmodulo.com/create-video-dvd-linux-desktop.html
>
> Documentation for the legacy DeVeDe 3.9 version
> https://www.rafalinux.com/?page_id=248
>
>
So the question in the mean time is:
Any other PCM capable DVD authoring program that can load the pcm_dvd
enabled .mpg file and create the DVD video structure and iso from it?
I shortly tried DVD Styler, ManDVD and Bombono DVD, but got lost in
their forced project start.
>
>>
>>
>>
>>
>> DeVeDe:
>> So I installed and tried "DeVeDe(NG)" - a "Video DVD creator"
>> program I had never heard about before recently
>> https://www.xmodulo.com/create-video-dvd-linux-desktop.html
>>
>> With DeVeDe I managed to create the video DVD structure and
>> ISO, and it offered to burn the iso with K3b automatically,
>> With its Property/Misch buttons the selection in the middle
>> offered:
>> *Repack audio and video without reencoding (Useful for VOB files)
>>
>> The problem is that the Audio (PCM) disappeared from the
>> dv28.mpg input file
>>
>> The burned DVD from iso:
>>
>> tree ./DVDVIDEO -sh
>>
>> ./DVDVIDEO
>> ├── [ 40] AUDIO_TS
>> └── [ 612] VIDEO_TS
>> ├── [ 12K] VIDEO_TS.BUP
>> ├── [ 12K] VIDEO_TS.IFO
>> ├── [ 32K] VIDEO_TS.VOB
>> ├── [ 18K] VTS_01_0.BUP
>> ├── [ 18K] VTS_01_0.IFO
>> ├── [3.6M] VTS_01_0.VOB
>> ├── [ 32K] VTS_01_1.VOB
>> ├── [ 18K] VTS_02_0.BUP
>> ├── [ 18K] VTS_02_0.IFO
>> ├── [ 32K] VTS_02_0.VOB
>> └── [133M] VTS_02_1.VOB
>>
>> 2 directories, 11 files
>>
>>
>> The structure and iso created on HDD:
>>
>> tree . -sh
>>
>> .
>> ├── [138M] dv28_DVD.iso
>> ├── [4.0K] dvd_tree
>> │ ├── [4.0K] AUDIO_TS
>> │ └── [4.0K] VIDEO_TS
>> │ ├── [ 12K] VIDEO_TS.BUP
>> │ ├── [ 12K] VIDEO_TS.IFO
>> │ ├── [ 32K] VIDEO_TS.VOB
>> │ ├── [ 18K] VTS_01_0.BUP
>> │ ├── [ 18K] VTS_01_0.IFO
>> │ ├── [3.6M] VTS_01_0.VOB
>> │ ├── [ 32K] VTS_01_1.VOB
>> │ ├── [ 18K] VTS_02_0.BUP
>> │ ├── [ 18K] VTS_02_0.IFO
>> │ ├── [ 32K] VTS_02_0.VOB
>> │ └── [133M] VTS_02_1.VOB
>> ├── [4.0K] menu
>> │ ├── [2.0K] menu_0_active_bg.png
>> │ ├── [ 64K] menu_0_bg.png
>> │ ├── [3.6M] menu_0B.mpg
>> │ ├── [3.6M] menu_0.mpg
>> │ ├── [2.0K] menu_0_selected_bg.png
>> │ ├── [1.7K] menu_0_unselected_bg.png
>> │ └── [ 442] menu_0.xml
>> ├── [4.0K] movies
>> │ └── [133M] movie_0.mpg
>> └── [4.0K] xml_data
>> └── [1.7K] dvdauthor.xml
>>
>> 6 directories, 21 files
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20230309/a49eeba0/attachment-0001.htm>
More information about the Cin
mailing list