[Cin] EXPERIMENTAL: blu-ray lpcm profile + gui

Terje J. Hanssen terjejhanssen at gmail.com
Tue Dec 21 17:33:43 CET 2021


I want to highlight some paragraphs with reference to the manual section 
"DVD and Bluray Creation"
https://cinelerra-gg.org/download/CinelerraGG_Manual/DVD_Bluray_Creation.html

However there is a serious issue with interaction between the Operating 
System and bdwrite when creating a BD/blu-ray that requires automount to 
be turned off. Refer to the details and more specific explanations below 
the following steps for how to do this.

Blu-ray Workaround for Mount/Umount
https://cinelerra-gg.org/download/CinelerraGG_Manual/Blu_ray_Workaround_Mount_Um.html

--------------

The max disk space needed is a little over 100GB for 50GB Double Layer 
(DL) media or 50GB for a single layer BD blu-ray. A standard SD of 4.7GB 
needs about 10GB disk space. You probably can get by with much less if 
the render for blu-ray is less than 25 hours of media. You will need 
twice as much disk space as the media holds to ensure you have 
sufficient space for working and copying.

For blu-ray, the filesystem generation is slightly harder. First, it 
creates an empty filesystem image <target>/bd.udfs using mkudffs which 
makes a big hole for the filesystem data. The hole is made just a little 
bigger than the data written by bdwrite so that you don't have to write 
an entire 25GB or 50GB disc even if no data exists. This empty 
filesystem is loopback mounted to make it writable, and the linux kernel 
manages the filesystem image. The bdwrite program applies the blu-ray 
structure to the UDF filesystem by creating the needed BDMV blu-ray 
filesystem, which the kernel stores onto the image file bd.udfs. When 
udfs is unmounted, the kernel finalizes the disk image on bd.udfs. The 
bd.udfs image can be written directly to a blu-ray disk via dd or 
growisofs.


I've used test files much smaller than the 50GB capacity BD-RE DL disc.
Cin-GG uses /tmp as default for BD rendering, where I have 27G available 
space before rendering:

df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p3   40G   11G   27G  30% /

---------------


Be aware that the CINELERRA-GG program will be totally shutdown AFTER 
the batch jobs finish. Screenshot below shows BD blu-ray creation with 2 
batch jobs queued up and ready to go.


https://cinelerra-gg.org/download/CinelerraGG_Manual/DVD_Bluray_Creation.html#SECTION0016001000000000000000

Blu-ray Media

For rewritable blu-ray (recommended) (BD-RE):

Note: unwritten (virgin) media must be formatted first using
* This info is missing within step 9 in the beginning of this chapter 
(equivalent to K3b quick format)

dvd+rw-format /dev/bd   #only done once and does not take very long

To write or rewrite rewritable blu-ray media:

cd /TargetDirectory/bd_20150820-093747/
dd if=./bd.udfs of=/dev/bd bs=2048000    #the growisofs command below 
also works

  To write blu-ray write-once media: (BD-R) (no pre-formatting needed):

cd /TargetDirectory/bd_20150820-093747/
growisofs -dvd-compat -Z /dev/bd=./bd.udfs

========================================

Den 21.12.2021 16:13, skrev Andrew Randrianasulu:
>  I think bdwrite segfaults now ( (
>
> not sure why, I try to revert some changes (tried to add variable 
> chapter marks along the way) and see if it improves situation...
>
> On Tuesday, December 21, 2021, Terje J. Hanssen 
> <terjejhanssen at gmail.com <mailto:terjejhanssen at gmail.com>> wrote:
>
>
>     Den 21.12.2021 13:14, skrev Terje J. Hanssen:
>
>         [...........]
>
>         After so much confusing and fail-sensitivety with udfs on hdd:
>
>         My Tip/suggestion:
>         Wouldn't it be an idea to have an option to write a BD.iso
>         instead (with udf included) just as tsMuxer can do? At least
>         for a simple file like this, K3b gui handle a BD.iso quite
>         easy and straight forward by selecting the iso-file and "Burn
>         the (CD)image to disc".
>
>
>         ===========================================
>
>
>     Did a test verification with K3b. Had to quick-format the BD-RE
>     disc and then K3b burned the previous txMuxer generated SD-BD.iso
>     image to a BD-compliant disc that played fine with VLC and
>     autoplayed in Samsung UBD player as Blu-ray.
>
>     ----------------
>
>     Now, yet a new test as root to BD render with Cin-GG and dd to the
>     formatted BD-RE disc.
>
>     ./cin_bluray_lpcm_test_9e730376d01dcf86b3420de8f3625cec.AppImage
>     /usr/bin/AppImageLauncher: /usr/lib64/libcurl.so.4: no version
>     information available (required by
>     /usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so)
>     QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to
>     '/tmp/runtime-root'
>     qt5ct: using qt5ct plugin
>     Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and
>     $XDG_RUNTIME_DIR not defined (consider using
>     --machine=<user>@.host --user to connect to bus of other user)
>     Failed to connect to bus: $DBUS_SESSION_BUS_ADDRESS and
>     $XDG_RUNTIME_DIR not defined (consider using
>     --machine=<user>@.host --user to connect to bus of other user)
>     Cinelerra Infinity - built: Dec 20 2021 14:52:15
>     git://git.cinelerra-gg.org/goodguy/cinelerra.git
>     <http://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
>     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.
>
>     Render::render_single: Session finished.
>     ** rendered 3415 frames in 38.119 secs, 89.588 fps
>     ++ dirname /tmp/bd_20211221-143520/bd.sh
>     + sdir=/tmp/bd_20211221-143520
>     ++ cd /tmp/bd_20211221-143520
>     ++ pwd
>     + dir=/tmp/bd_20211221-143520
>     +
>     PATH=/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/tmp/.mount_cin_blJgBTQy/usr/bin
>     + mkdir -p /tmp/bd_20211221-143520/udfs
>     ++ du -cb /tmp/bd_20211221-143520/bd.m2ts
>     ++ tail -1
>     ++ sed -e 's/[     ].*//'
>     + sz=211070976
>     + blks=107158
>     + rm -f /tmp/bd_20211221-143520/bd.udfs
>     + mkudffs -b 2048 /tmp/bd_20211221-143520/bd.udfs 107158
>     filename=/tmp/bd_20211221-143520/bd.udfs
>     label=LinuxUDF
>     uuid=61c1d85eb5d3ee36
>     blocksize=2048
>     blocks=107158
>     udfrev=201
>     start=0, blocks=16, type=RESERVED
>     start=16, blocks=3, type=VRS
>     start=19, blocks=237, type=USPACE
>     start=256, blocks=1, type=ANCHOR
>     start=257, blocks=16, type=PVDS
>     start=273, blocks=1, type=LVID
>     start=274, blocks=106627, type=PSPACE
>     start=106901, blocks=1, type=ANCHOR
>     start=106902, blocks=239, type=USPACE
>     start=107141, blocks=16, type=RVDS
>     start=107157, blocks=1, type=ANCHOR
>     + mount -t udf -o loop /tmp/bd_20211221-143520/bd.udfs
>     /tmp/bd_20211221-143520/udfs
>     + bdwrite /tmp/bd_20211221-143520/udfs /tmp/bd_20211221-143520/bd.m2ts
>     /tmp/bd_20211221-143520/bd.sh: line 11:  7630 Segmentation
>     fault      (core dumped) bdwrite $dir/udfs $dir/bd.m2ts*
>
>     -------------------------
>
>     localhost:/tmp # du -sh bd_20211221-143520/
>     202M    bd_20211221-143520/
>     localhost:/tmp #
>     localhost:/tmp # tree -sh bd_20211221-143520/
>     bd_20211221-143520/
>     ├── [2.0K] bd.jobs <http://bd.jobs>
>     ├── [201M]  bd.m2ts
>     ├── [ 525]  bd.sh
>     ├── [209M]  bd.udfs
>     ├── [5.9K]  bd.xml
>     └── [ 136]  udfs
>         ├── [ 412]  BDMV
>         │   ├── [  40]  AUXDATA
>         │   ├── [ 224]  BACKUP
>         │   │   ├── [  40]  BDJO
>         │   │   ├── [  40]  CLIPINF
>         │   │   ├── [  40]  JAR
>         │   │   └── [  40]  PLAYLIST
>         │   ├── [  40]  BDJO
>         │   ├── [  40]  CLIPINF
>         │   ├── [  40]  JAR
>         │   ├── [  40]  META
>         │   ├── [  40]  PLAYLIST
>         │   └── [  40]  STREAM
>         └── [ 272]  CERTIFICATE
>             ├── [ 224]  BACKUP
>             │   ├── [  40]  BDJO
>             │   ├── [  40]  CLIPINF
>             │   ├── [  40]  JAR
>             │   └── [  40]  PLAYLIST
>             ├── [  40]  BDJO
>             ├── [  40]  CLIPINF
>             ├── [  40]  JAR
>             └── [  40]  PLAYLIST
>
>     24 directories, 5 files
>     localhost:/tmp # cd bd_20211221-143520/
>
>     =============================================================================
>
>     Write to disc
>
>     localhost:/tmp/bd_20211221-143520 # dd if=./bd.udfs of=/dev/sr0
>     bs=2048000
>     107+1 records in
>     107+1 records out
>     219459584 bytes (219 MB, 209 MiB) copied, 0.0823011 s, 2.7 GB/s
>
>     * Had to wait quite some time after the command finished before
>     the disc writing started and finished !!
>     ===================================================================================================
>
>     localhost:/tmp/bd_20211221-143520 # df -h
>     Filesystem      Size  Used Avail Use% Mounted on
>     devtmpfs        4.0M     0  4.0M   0% /dev
>     tmpfs            32G  960K   32G   1% /dev/shm
>     tmpfs            13G   27M   13G   1% /run
>     tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
>     /dev/nvme0n1p3   40G   12G   26G  31% /
>     /dev/nvme0n1p1  156M  6.1M  150M   4% /boot/efi
>     /dev/nvme0n1p4  427G   97G  309G  24% /home
>     /dev/sdb1       459G  421G   15G  97% /video
>     /dev/sdc1       384G  145G  220G  40% /data
>     tmpfs           6.3G  180K  6.3G   1% /run/user/1000
>     /dev/sdd1       3.6T  2.3T  1.2T  67%
>     /run/media/terje/Seagate_4TB_back
>     /dev/loop0      209M   66K  209M   1% /tmp/bd_20211221-143520/udfs
>     /dev/sr0        209M   20K  209M   1% /run/media/terje/LinuxUDF
>
>     * Had to umount and mount the disc again before it was seen as a
>     "LinuxUDF" disc in FileManager
>
>     df -h /dev/sr0
>     Filesystem      Size  Used Avail Use% Mounted on
>     /dev/sr0        209M   20K  209M   1% /run/media/terje/LinuxUDF
>
>     -------------------
>
>     ** But the STREAM map is now empty (no 0000.m2ts) and VLC cannot
>     playback video from the disc!
>
>     Samsung hardware player read the disc as Datadisk, but browsing to
>     STREAM is emptyf course nothing to playback.
>
>     Looks like only the Blu-ray structure has been written to disc
>     without content.
>
>     cd /run/media/terje/LinuxUDF
>     localhost:/run/media/terje/LinuxUDF #
>     localhost:/run/media/terje/LinuxUDF # tree -sh .
>     .
>     ├── [ 412]  BDMV
>     │   ├── [  40]  AUXDATA
>     │   ├── [ 224]  BACKUP
>     │   │   ├── [  40]  BDJO
>     │   │   ├── [  40]  CLIPINF
>     │   │   ├── [  40]  JAR
>     │   │   └── [  40]  PLAYLIST
>     │   ├── [  40]  BDJO
>     │   ├── [  40]  CLIPINF
>     │   ├── [  40]  JAR
>     │   ├── [  40]  META
>     │   ├── [  40]  PLAYLIST
>     │   └── [  40]  STREAM
>     └── [ 272]  CERTIFICATE
>         ├── [ 224]  BACKUP
>         │   ├── [  40]  BDJO
>         │   ├── [  40]  CLIPINF
>         │   ├── [  40]  JAR
>         │   └── [  40]  PLAYLIST
>         ├── [  40]  BDJO
>         ├── [  40]  CLIPINF
>         ├── [  40]  JAR
>         └── [  40]  PLAYLIST
>
>     23 directories, 0 files
>
>     ========================
>
>     Attach output log-files for
>
>     udf_test_CGG_dd_BD-RE
>     udfinfo_CGG_dd_BD-RE
>     bd_info_CGG_dd_BD-RE
>
>     ==========================
>
>
>
>
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20211221/62dd4871/attachment-0001.htm>


More information about the Cin mailing list