• ¿Quieres apoyar a nuestro foro haciendo una donación?, entra aquí.

Creando un Blu-ray (trabajo en "tiempo real")

Alex-Kid

Ramsés Ramsés
Registrado
2004/10/20
Mensajes
6.472
Sexo
Macho
MOH
  1. Old School
Dado que ya no me acuerdo cómo cresta lo hice para autorear el único Blu-ray que tengo, hago este tema para ir posteando los pasos necesarios para terminarlo y no se me olvide nunca más.

El programa de autoreo es Scenarist 5.7.2., para que lo bajen compren, es baratito :xd:


PLANIFICACIÓN PRELIMINAR DEL PROYECTO

Antes que todo, debemos definir qué tenemos, qué queremos y cómo lo hacemos, o lo que es lo mismo, los insumos, el resultado y el flujo de trabajo, asociado al proyecto. Para este caso particular:

1. Insumos: flujos de audio y video (por separado o "elementales") y las imágenes (fondos y botones de menús), que utilizaremos en el proyecto.
2. Resultado esperado:
  • una película de primera reproducción.
  • menús principal y secundarios.
  • película principal (1 video - 1 audio - sin subtítulos) dividida en 26 capítulos.
3. Flujo de trabajo: se resume en lo siguiente:
  1. Codificar las imágenes de fondo como video.
  2. Procesar archivos de audio y video.
  3. Crear Clips (video y audio) y agregar a ellos los botones de menú como objeto Interactive Graphics (IG)
  4. Agrupar los Clips en PlayLists e insertar PlayListMarks para definir capítulos.
  5. Agregar Títulos al proyecto y agrupar los PlayLists en ellos.
  6. Programar comandos de navegación para establecer orden de reproducción y definir links para los botones.
  7. Multiplexar.
  8. Generar imagen de disco y grabar.
ESTRUCTURA DE DATOS DE UN BD
  • TÍTULOS (High Definition Movie, HDMV)
    • MOVIE OBJECT + COMANDOS
    • BD-J OBJECT
      • PLAYLISTS
        • PLAYITEMS
          • CLIPS (películas, menús)
            • VIDEO
            • AUDIO
            • IG (botones)
            • PG (subtítulos, closed caption, descripciones)

AUTORÍA DE UN BD CON SCENARIST
UTILIDADES DE SCENARIST REQUERIDAS
  • AUDIO INTERLEAVER: genera un audio WAV multicanal a partir de múltiples audios WAV monofónicos. Scenarist no acepta otros formatos de audio multicanal.
  • FMX MOUNTER: permite crear una unidad BD virtual para la reproducción mediante software en el equipo.
  • MUI GENERATOR: procesa el video y audio para su uso en Scenarist.
  • PNG TRIMMING TOOL: permite cortar archivos PNG para su uso en Scenarist.
  • STILL IMAGE ENCODER: codifica las imágenes como video para su uso en Scenarist.


CREAR EL ESPACIO DE TRABAJO Y LA SOLUCIÓN
Scenarist es un programa de uso profesional que utiliza el siguiente esquema de jerarquías para los proyectos: Solución (Solution) → Proyectos de Disco (Disc Project) → Proyectos (Project). Por lo tanto hay que crear cada uno de ellos para trabajar.

kwv459fd9b9t6976g.jpg

  • La Solución es el nivel más alto, por lo tanto hay que crearla para definir el espacio de trabajo (carpetas en el equipo). Para ello vamos a menú FileNew Solution y completamos con el nombre y la carpeta (SolutionFolder).

    w4hb15impugrabb6g.jpg
  • Posteriormente se crea el Proyecto de Disco, para lo cual hacemos clic derecho en nuestra Solución inidcada en la ventana SolutionExplorer y seleccionamos New Disc Project. Aquí nos piden más información, más que nada para la replicación en autorías profesionales, pero sólo nos basta con el nombre del proyecto, el Language code (spa para español) y el Initial Output Mode que en nuestro caso será 2D Output Mode.
zwp8dk3k1eex1e46g.jpg
  • Aceptado lo anterior, se crea el primer Proyecto y se le da el número de versión 00.00.0000.
Con esto ya podemos empezar a autorear nuestro BD.


PREPARAR LOS ARCHIVOS NECESARIOS
En este punto ya contamos con todo lo necesario, sólo queda organizarlo. En mi caso tengo:

  • VIDEO: 33 archivos H.264, 1920x1080i, 29,97 fps.
  • AUDIO: 33 archivos AC3, 2 canales, uno por cada video.
  • IMÁGENES: 5 imágenes de fondo de menú PNG, 32 bits + 9 imágenes de botones PNG, 8 bits (256 colores) de paleta indexada con transparencia. Más adelante veremos la razón de esta configuración.

Lo anterior debe procesarse de la siguiente forma:

  • VIDEO: generar tres archivos, MUI, XUI y VES, por cada video con la herramienta MUI Generator, configurada como MovieApplication y con Enable Spec check mode when creating the MUI file marcada. En total, 99 archivos adicionales.
sgu2naik4udk86u6g.jpg
  • AUDIO: generar tres archivos, MUI, XUI y VES, por cada audio con la herramienta MUI Generator. En total, 99 archivos adicionales.
q1qt8mt72hu93jq6g.jpg
  • IMÁGENES FONDO: generar tres archivos, MUI, XUI y VES, por cada imagen con la herramienta Still Image Encoder, configurada como Browsable Slideshow(Multi ES), 2000000 bits/second, VBR, Interlace, AVC Encoder, 29.97 fps y 16:9. En total, 15 archivos adicionales.
iin6l20xcc2nzxu6g.jpg

Los archivos MUI, XUI y VES contienen información de cada uno de los flujos. Las imágenes para los botones de menú se utilizarán más adelante.


INCORPORAR ARCHIVOS PROCESADOS
En Scenarist, se agregan los archivos VES, obtenidos al procesar video y audio a la pestaña DataTree. Aquí es conveniente crear carpetas para clasificar por contenido, tipo de archivo u otro criterio para mantener cierto orden:
  • Creamos las carpetas haciendo clic derecho en la carpeta Data de la ventana DataTree y seleccionamos NewFolder, con lo cual se crea la carpeta new folder. Luego se cambia el nombre de la carpeta al deseado.
  • Para incluir los archivos en cada carpeta, hacemos clic derecho en la carpeta y seleccionamos NewActualAsset, con lo cual se abre la ventana que nos permitirá elegir todos los archivos VES asociados a video, audio e imágenes de fondo. Marcamos los deseados y hacemos clic en Abrir.
04rcbsbiiqo0kqc6g.jpg
Para este caso, se agregan 71 archivos VES (33 de video, 33 de audio y 5 de fondos de menú) y 18 gráficos en formato PNG.


CREAR CLIPS
A continuación se crean los Clips, que no son más que las películas mismas, es decir el video con su audio correspondiente. Este objeto también se utiliza para crear diapositivas o slideshows con imágenes estáticas (fotos), que sirven en los fondos de menú.
  1. En la pestaña StreamTree, hacemos clic derecho en ClipNewClipMovie Application. Se agrega un Clip a esta carpeta. Repetimos la operación hasta tener 33 Clips de película.

    h91yl7vvnuhpfiq6g.jpg


  2. Repetimos lo anterior, pero eligiendo Browsable Slideshow en vez de Movie Application. Esta vez requerimos 5 Clips de slideshow para los fondos de menú.
  3. Renombramos los Clips para poder identificarlos. En mi caso utilicé números correlativos y nombres para las películas y sólo nombres para los slideshows.
  4. Hacemos doble clic en un Clip para que aparezca en la pestaña Clip Editor.
  5. En la pestaña DataTree, arrastramos el video y su audio respectivo a las pistas Primary Video y Primary Audio del Clip Editor. Repetimos esto para los 33 Clips de película.

    88e9d0afpnb1p9v6g.jpg


  6. Repetimos lo anterior, ahora para los slideshows, por lo cual sólo arrastramos el video a la pista Primary Video. Repetimos esto para los 5 Clips de slideshow.

    ychohb639bffwxz6g.jpg


CREAR PLAYLISTS
Luego, se crean las PlayLists, tantas como se desee. Este es un concepto nuevo, que no existe en el estándar DVD, el cual permite definir la reproducción de un Clip entero, de sólo una sección o de dos secciones no continuas, incluso de diferentes Clips.
  1. En la pestaña StreamTree, hacemos clic derecho en StreamNewPlayList. Se agrega una PlayList y un PlayItem a esta carpeta. Repetimos la operación hasta tener 3 PlayLists, que son las necesarias en nuestro disco.

    uotaxymr6y52i2x6g.jpg


  2. Renombramos las PlayLists como Intro, Menu y CA2015 para poder identificarlas.
  3. Hacemos doble clic en una PlayList para que aparezca en la pestaña Stream Editor.
  4. En la pestaña StreamTree, arrastramos un Clip en la pista PlayItem del Stream Editor, con lo cual se abre la ventana Select Use ES in Clip. Como vamos a utilizar el Clip con su audio y video completos, marcamos All y luego OK. El Clip queda agregado a la PlayList en el Stream Editor. Repetimos esto para todos los Clips de cada PlayList, de acuerdo a lo siguiente:
    • PlayList Intro: 1 Clip de película (audio/video).
    • PlayList CA2015: 32 Clips de película (audio/video) unidos (32 PlayItems en total).
    • PlayList Menu: 5 Clips de slideshows (sólo video, 5 PlayItems en total).

    umc3x43qgxajvlc6g.jpg


    33u028cqebq46di6g.jpg
  5. Insertamos los PlayListMarks (capítulos) en cada PlayList. Teniendo una PlayList en el Stream Editor (haciendo doble clic en esa PlayList, desde la pestaña StreamTree) hacemos clic derecho en la pista ChapterInsertPlayListMark.
  6. Se abre la ventana Chapter Setting. Se ajusta el tiempo de ubicación del capítulo y damos clic a OK, quedando el capítulo creado. Si la ubicación no correspondiera a un cuadro I (I-Frame), el programa avisará en la ventana Log Window de esta situación, proponiendo los dos cuadros (sucesor y antecesor) más cercanos que sí correspondan a un cuadro I.

    nzxyyhs1162yfbb6g.jpg


  7. Repetimos lo anterior para todos los capítulos a definir. Para este caso, 26 PlayListMarks para CA2015 y 5 para Menu.

    qt3td93d7mbud9u6g.jpg
A continuación, debemos configurar los atributos de los PlayItems que conforman cada PlayList.

  1. En la pestaña StreamTree, hacemos doble clic en una PlayList. Ésta se abre en el Stream Editor.
  2. Seleccionamos un PlayItem y configuramos sus atributos por PlayList según lo siguiente:
  • PlayList Intro (película normal)
    • PlayItem 1: Connection Condition Not Seamless; Still ModeNot Still.
  • PlayList CA2015 (32 películas unidas en una sola, sin saltos visibles durante la reproducción)
    • PlayItem 1: Connection Condition Not Seamless; Still Mode → Not Still.
    • PlayItem 2-32: Connection ConditionSeamless; Still ModeNot Still.
  • PlayList Menu (slideshow con fondos de menú, sólo responde a acciones de los botones de menús)
    • PlayItem 1-5: Connection ConditionNot Seamless, Still ModeStill for Infinite Duration.

    udoq8hve8d7kksh6g.jpg

CREAR BOTONES DE MENÚ

Los botones de menú corresponden al grupo Interactive Graphics (IG), los cuales tienen un formato específico. En cada grupo IG se deben adaptar los gráficos a un formato de 8 bits con paleta indexada de 256 colores. Estos pueden obtenerse con aplicaciones de edición de imágenes como Photoshop o GIMP.

Hasta aquí no habíamos utilizado los botones. Para incorporarlos, primero se debe crear el objeto IG, para lo cual se hace lo siguiente:
  1. Se selecciona la pestaña DataTree y se hace clic derecho en la carpeta en que se agregarán los botones. Se selecciona New → GraphicAssetIG, luego OK.

    diyxjun6811hrj26g.jpg


  2. Aparece la ventana Set Graphic Parameter y se seleccionan los parámetros gráficos de los botones, que deben ser los mismos del slideshow en que se van a incrustar. En nuestro caso, se incluyen en los fondos de menú codificados a 1920x1080 a 29.97 fps entrelazados.

    go6ldlg56r54m2o6g.jpg


  3. Se abre la ventana Create IG Asset y se agregan los objetos necesarios para el IG:
    • Epoch1
    • DisplaySet1
      • Palette1
      • Page1
        • BOG1
          • Button1(VER TODO)
        • BOG2
          • Button1(VER PARTIDOS)
          • Button2(Dummy)
      • Page2
        • BOG1
          • Button1
        • BOG2
          • Button1
          • Button2(Dummy)
        • BOG3
          • Button1
          • Button2(Dummy)
        • ...
        • BOG6
          • Button1
        • BOG15
          • Button1
      • Page3
        • BOG1
          • Button1
          • Button2(Dummy)
        • BOG2
          • Button1
        • BOG3
          • Button1
          • Button2(Dummy)
        • ...
        • BOG5
          • Button1
          • Button2(Dummy)
        • BOG6
          • Button1
        • BOG13
          • Button1
      • Page4
          • BOG1
            • Button1
            • Button2(Dummy)
          • BOG3
            • Button1
          • BOG4
            • Button1
            • Button2(Dummy)
          • ...
          • BOG6
            • Button1
          • BOG9
            • Button1
        • Page5
          • BOG1
            • Button1
            • Button2(Dummy)
          • ...
          • BOG4
            • Button1
          • BOG5
            • Button1
            • Button2(Dummy)
          • BOG6
          • Button1
          • ...
          • BOG9
            • Button1

    8n84yc1dklyxx386g.jpg


  4. Se definen y configuran las propiedades (Property) de cada uno de los objetos del IG. En este caso:
    • IG: ajustar Video Frame Rate a 29.97 fps.

      ak4b2jmwm6p16f56g.jpg


    • Epoch: tal cual
    • DisplaySet: ajustar Stream Model a Non Multiplexed (el menú no tiene audio), User Interface Model a Always On y Composition State a Epoch Start.

      o26a0xpcn1yv47i6g.jpg


    • Palette: corresponde a la paleta de colores de los botones de menú. Para cargarla, se realiza lo siguiente:
      • en la pestaña DataTree, abrir el IG y hacer doble clic en Palette. Se abre la ventana PaletteDialog.

        l7th26zg0mmg23c6g.jpg
      • Hacer clic en Load, seleccionar una imagen de los botones que se utilizará en el menú (el resto de las imágenes de botones debe compartir la misma paleta de colores) y hacer clic en Open y luego en OK. La paleta queda cargada en el proyecto.
    • Page: ajustar UO Mask y Default Selected Button Ref a gusto, Default Activated Button Ref a No Button. Aquí además se puede hacer doble clic en la Page respectiva, con lo cual se activa la pestaña IG Editor para definir la imagen de fondo que uilizaremos como guía para ubicar los botones más adelante.

      g7e7g83l0gydz316g.jpg
      • seleccionamos la pestaña IG Editor y hacemos clic derecho → Background. Aparece la ventana Background Setting.

        bk55ebaczs0jzd66g.jpg


      • seleccionamos la pestaña Image y hacemos clic en el botón [...]. Aparece la ventana Select Asset.

        u7nzs6ivyu6pwkv6g.jpg


      • en ImageFileType seleccionamos Asset (Still Image) y elegimos nuestro fondo de menú correspondiente.
    • BOG: ajustar Non Accesible Buttons a False.

      eh0uehzotsfc6sg6g.jpg


    • Button: ajustar las variables Neighbor asociándola a los botones que se seleccionarán al presionar las teclas de flechas en el control remoto. Aquí además se puede hacer doble clic en el botón respectivo, con lo cual se abrirá la ventana Edit Button Info. En ella, arrastramos las imágenes correspondientes al botón en cuestión para cada uno de sus estados: “normal”, “seleccionado” y “activado”. En el caso de los botones definidos como Dummy, no se definen imágenes, pero se debe marcar Auto Action para que, al seleccionarse se activen automáticamente.

      n833q2gx4h9t0w06g.jpg


      8uljudptqsan0gh6g.jpg

Una vez listo, el IG se debe codificar: en la pestaña DataTree se hace clic derecho en el IGEncodeBuild. Se guarda el IG en un archivo.

Ahora hay que incorporar el IG al Menú. Y dado que los IGs son elementos gráficos, pueden almacenarse en un Clip:
  • En la pestaña StreamTree se hace clic derecho en la carpeta ClipNewClipInteractive Graphics Menu. Se agrega un nuevo Clip IG. Al hacer doble clic aparece en la pestaña Clip Editor.

    441ka2tqkw55q466g.jpg


  • Seleccionamos la pestaña DataTree y arrastramos el IG a la pista de IGs del Clip Editor. El Clip ahora contiene el IG, por lo cual conviene renombrar el primero como IG#1.

    7pjonpa84et6v2k6g.jpg


  • A continuación, hay que agregarlo a la PlayList Menu como SubPath. En la pestaña StreamTree hacemos clic derecho en la PlayList MenuNewSubPath → Interactive Graphics Menu. Con esto, agregamos un nuevo SubPath a la PlayList Menu. Al hacer doble clic en la PlayList Menu, aparece en la pestaña Stream Editor.
    897mnqpt1ezjgxh6g.jpg


  • Arrastramos el Clip IG#1 del Stream Tree a la pista SubPath: IG Menu en el Stream Editor. Se crea el elemento SubPlayItem.

    98ta4hs4rl7e8446g.jpg

Con esto quedan los botones de menú incorporados al proyecto.
 
Última edición:
CREAR TÍTULOS
Los Títulos corresponden a películas, slideshows, extras y otros contenidos similares de un disco. Dentro de ellos podemos agregar las PlayLists para su reproducción.

Por predeterminado se establecen dos Títulos:
  • FirstPlayback: será el primer contenido que se reproduzca cuando se inserte el disco. Usualmente corresponde a avisos, sinopsis o intros, pero puede no utilizarse, si se desea.
  • TopMenu: es el contenido que se muestra al presionar la tecla de Menú en los reproductores, cuyo uso más común es mostrar el menú principal de un disco. También se puede prescindir de él.
Al revisar nuestra planificación anterior, vemos que requerimos de un FirstPlayback, un TopMenu y un Título adicional. Cuando insertemos Títulos, en la pestaña ScenarioTree, veremos que ya existen FirstPlayback y TopMenu, por lo tanto, en este caso, sólo nos queda ingresar un Título adicional.

dg6crt437hyy90t6g.jpg


  • se hace clic derecho en ScenarioNewHDMV Title. Se incorpora el Título faltante, acompañado de un MovieObject, el cual se encargará de ejecutar los comandos de navegación que programemos. Lo renombramos como CA2015.

    d3491w3mu828b436g.jpg

  • dado que utilizaremos FirstPlayback y TopMenu, debemos agregarle sus respectivos MovieObject. En la pestaña ScenarioTree, hacemos clic derecho en uno de ellos y seleccionamos Set MovieObject. Se abrirá la ventana del mismo nombre y marcamos New MovieObject y luego clic en OK, para agregarlo a estos Títulos. Hacemos lo mismo con el Título restante.

    d02o28v9h84se636g.jpg


    pe5snylns14n2pr6g.jpg

Finalmente, nos queda enlazar las PlayLists, con sus PlayItems (Clips) y sus PlayListMarks, a cada MovieObject. Para conseguir esto, arrastramos desde la pestaña StreamTree a ScenarioTree, la PlayList Intro al MovieObject de FirstPlayback, la PlayList Menu al MovieObject TopMenu y la PlayList CA2015 al MovieObject de CA2015. Renombramos los objetos de acuerdo al contenido.

nbccucj3un826hn6g.jpg


Hasta acá, ya tendremos más o menos listos los gráficos y la estructura del disco:
  • FirstPlayback
    • MovieObject(INTRO)
      • PlayList(Intro)
  • TopMenu
    • MovieObject(MENU)
      • PlayList(Menu)
        • PlayListMarks(5 menús)
        • SubPlayItem(IG)
          • Page1
            • Buttons(2 botones)
          • Page2
            • Buttons(15 botones)
          • Page3
            • Buttons(13 botones)
          • Page4
            • Buttons(9 botones)
          • Page5
            • Buttons(9 botones)
  • Título (CA2015)
    • MovieObject(CA2015)
      • PlayList(CA2015)
        • PlayListMarks(26 capítulos)


COMANDOS DE NAVEGACIÓN
Los comandos de navegación le indican al reproductor qué acciones realizar frente a eventos, como reproducir un título, o pulsar botones. Para este caso, lo que quiero lograr es lo siguiente:
  • reproducir una película al introducir el disco (FirstPlayback)
  • mostrar el menú principal (TopMenu, menú 1), que tendrá dos botones:
    • VER TODO: reproduce la película completa.
    • VER PARTIDOS: reproduce el primero de cuatro menús con los 26 capítulos. En cada uno de estos menús se incluyen botones para cada menú de capítulos (4 en total) y el botón MENÚ para volver al menú principal.
  • al terminar la película, volver al menú principal.

Para programar, revisaremos en primer lugar los Títulos y los comandos en sus MovieObjects, lo cual requiere que trabajemos con la pestaña ScenarioTree, en la cual seleccionaremos el MovieObject que queremos programar, y NaviCommand Editor, en la cual generaremos el código para programar.


FirstPlayback
(MovieObject INTRO)
Define lo primero que ocurrirá al introducir el disco, que para este caso es que reproduzca la intro del disco, y que una vez finalizada, nos lleve al menú principal:

(1) PlayPL Intro
(2) Move(GPR)IsChapJump[ID:4092] TRUE
(3) Move(GPR)ChapPL[ID:4094] 6
(4) Move(GPR)ChapPLMark[ID:4095] 0
(5) JumpTitle TopMenu


97tsr8w2qmlqe9b6g.jpg


Explicación:
(1) reproduce el PlayList Intro.
(2) activa el salto de capítulos para ir al menú.
(3) define PlayList 6 (Menu) como la próxima película a reproducir.
(4) define PlayListMark 0 (página 1 del menú) como el próximo capítulo a reproducir.
(5) salta al TopMenu (menú principal, fondo 1).


Top Menu (MovieObject MENU)
En el MovieObject anterior quedó definido que se ejecutara automáticamente TopMenu. Además, cada vez que se presione el botón Menu en el control remoto, nos traerá acá. Dado lo anterior, y considerando que lo único que queremos aquí es que nos muestre el menú, nos basta con ejecutar la PlayList Menu:

PlayPL Menu

52334bva0ekvaqy6g.jpg


Dado que la Page 1 del IG está enlazado con la pagína 1 del menú, el primero también se muestra. No es necesario programar nada más, ya que el resto lo realizaremos con los botones del menú.


CA2015 (MovieObject CA2015)
El Menú anteriormente configurado, tendrá botones desde los cuales la película principal podrá ser reproducida, ya sea desde el principio o desde sus capítulos. Por lo tanto, su programación dependerá de las variables (IDs) definidas en los botones del menú. Además cuando termine, deberá volver al menú principal:

(1) PlayPLatMK(GPR)ChapPL[ID:4094] (GPR)ChapPLMark[ID:4095]
(2) JumpTitle TopMenu


1pmzuq7hbv4qh8y6g.jpg


Explicación:
(1) reproduce la PlayList definida en el ID:4094 y el PlayListMark definido en el ID:4095.
(2) salta al TopMenu (menú principal, fondo 1).

Las variables de los ID 4094 y 4095 serán definidas en los botones más adelante, pero en palabras simples funcionarían de la siguiente forma: si el Botón X debe reproducir la PlayList 2 y el capítulo 7, entonces se definen ID 4094 = 2 e ID 4095 = 7

Veamos ahora los botones del menú, para lo cual seleccionamos en la pestaña ScenarioTree, el PlayList Menu, proveniente de TopMenu, y abrimos el SubPlayItem correspondiente hasta llegar a las Pages.


PAGE 1 / BOG 1 / VER TODO
Al activarlo tiene que comenzar la reproducción de la película, por lo tanto nos basta con:

JumpTitle CA2015

1j3tdq1mqv2lv6u6g.jpg



PAGE 1 / BOG 2 / VER PARTIDOS
Al activarlo, me debe mostrar la página 2 del slideshow, que corresponde al PlayListMark 1 de la PlayList Menú, pero también me debe mostrar la página 2 del IG. Esto implicaría utilizar los comandos LinkMK y SetButtonPage, pero como ambos terminan la ejecución de comandos en el botón que estén, necesitamos un botón falso o “Dummy” autoejecutable, incluido anteriormente en el BOG. Por lo tanto, en el botón 1 del BOG 1, tipeamos:

(1) EnableButton Dummy
(2) LinkMK 1


lwwu6unb9ocik9j6g.jpg


Explicación:
(1) habilita el botón Dummy, ahora éste queda sobre el botón 1.
(2) se pasa al PlayListMark 1 de la misma PlayList (página 2 del slideshow).

y en el botón Dummy:

(3) SetButtonPage Page:Page 2

ydyfd56b2m6yevb6g.jpg


Explicación:
(3) se cambia a la página 2 del IG.


PAGEs 2-3-4-5 / BOGs 1-2-3-4-5 (navegación por menús)
El comportamiento de estos botones es básicamente el mismo que el del botón VER PARTIDOS de la página anterior. Recapitulando, en el botón 1:

EnableButton Dummy
LinkMK M


donde M es el número de PlayListMark, en este caso, de 0 a 4. Y en el botón Dummy:

SetButtonPage Page:Page N

donde N es el número de Page del IG, en este caso, de 1 a 5.

Sin embargo, puede darse el caso de botones que no signifiquen cambios de página (ej: botón PAG3 en la página 3). En este caso, no requerimos de botones Dummy, dado que el comando sólo debe hacer referencia al propio botón, dejando la página como “Not Set”, ya que no se mueve a ninguna página:

SetButtonPage Button: Button N

rg9ang3vjlhphgg6g.jpg


donde N es el número del Button en el BOG, en este caso 1.


PAGEs 2-3-4-5 / BOGs >= 6 (selección de capítulos)
La selección de capítulos tampoco requiere de botones Dummy ya que su activación nos lleva directamente al PlayListMark correspondiente de la película principal. Pero, dado que la reproducción de los capítulos se realiza en el MovieObject CA2015, el cual depende de variables, debemos configurar cada botón con las que correspondan, aunque los comandos son los mismos:

(1) Move(GPR)IsChapJump[ID:4092] TRUE
(2) Move(GPR)ChapMO[ID:4093] X
(3) Move(GPR)ChapPL[ID:4094] Y
(4) Move(GPR)ChapPLMark[ID:4095] Z
(5) JumpTitle CA2015


rg9ang3vjlhphgg6g.jpg


Explicación:
(1) activa el salto de capítulos.
(2) define MovieObject X como el próximo a reproducir.
(3) define PlayList Y como la próxima a reproducir.
(4) define PlayListMark Z como el próximo a reproducir.
(5) salta al Título CA2015. Los comandos definidos en el MovieObject(CA2015) leerán las variables almacenadas y ejecutarán el capítulo que corresponda.


MULTIPLEXADO
El multiplexado organiza y junta todo lo realizado anteriormente para crear la imagen de disco que será grabada. Scenarist utiliza una técnica llamada HyperMUX que utiliza metadatos que referencian a los archivos originales para crear una imagen virtual, lo cual ahorra espacio en disco, ya que no se crea un archivo de imagen en él.

Para multiplexar y crear la imagen de disco del proyecto:
  1. en el menú, hacer clic en ToolMUX. Se abre el cuadro MUX Configuration.

    3x0sssu4j0h36cv6g.jpg


  2. establecer los siguientes parámetros:
    • MUX Server: localhost (corresponde al propio equipo)
    • Selected Content: Disc Content
    • Disc Root Path: predeterminado (utiliza la carpeta del proyecto para establecer la carpeta de salida de la estructura de disco virtual).
    • MUX Processing: marcar
    • MUX Type: Full (sólo el primer multiplexado. Si se hicieran ajustes al proyecto y se tuviera volver a multiplexar, puede elegirse Partial MUX, el cual actualizará sólo los cambios)
    • Disc Media Type: BD-RE v3 (esta opción genera un “disco de pruebas” el cual no incluye la protección AACS. BDROM, por su parte, siempre incluye la protección, lo cual podría traer problemas en algunos reproductores, si ésta no se configura bien).
    • Image Processing: marcar
    • Disc Image Path: predeterminado (utiliza la carpeta del proyecto para establecer la carpeta de salida de la imagen de disco virtual)
  3. Hacemos clic en MUX Start. En este punto, cualquier error que Scenarist encuentre, detendrá el programa hasta que éste sea corregido.
  4. Comienza el multiplexado, se ejecuta el programa MUX Remoting Server, a la vez que aparece el cuadro MUX Monitor, el cual muestra el progreso de la operación. Una vez terminado, el MUX Monitor se cerrará después de 30 segundos.


PROBANDO EL DISCO
Como el resultado del multiplexado se realizó a través de metadatos referenciados, debemos crear un BDROM virtual para probarlo. Esto se hace a través de la utilidad FMXMounter:

  1. Ejecutamos el programa FMXMounter y hacemos clic en el botón […] para seleccionar nuestra imagen de disco virtual. Por lo tanto ubicamos la carpeta Wrapping.img y la abrimos.
  2. Elegimos la letra de nuestra unidad virtual, por ejemplo A.
  3. Hacemos clic en Mount Image. El programa monta la imagen y crea la unidad virtual.

    curk3na7rqzzhx66g.jpg


  4. Se ejecuta el BD virtual mediante un software reproductor de Blu-ray, como PowerDVD 15, y se realizan las pruebas necesarias. Se corrige lo hallado en los pasos anteriores correspondientes.


GRABACIÓN DEL DISCO
Dado que Scenarist está orientado a la replicación de discos, la grabación de nuestro BD no se puede hacer mediante el programa, pero tampoco podemos generar una imagen de él para grabarlo en un programa de terceros. La única opción para grabar es utilizar la imagen virtual, en formato IMG, creada en el paso anterior para grabar a partir de ella o copiarla al disco duro del equipo para grabarla a partir de él. Recomiendo hacer lo último por un tema de seguridad en la grabación, ya que la primera alternativa implica al equipo interpretar datos desde otra aplicación, como sería el disco virtual. Sin embargo, si se quiere igualmente hacer la grabación desde el disco virtual, la velocidad de escritura debe ser reducida al mínimo (2x como mucho).



Terminado, quedo atento a opiniones, dudas y sugerencias. Como siempre, trolleos fomes serán reportados.
En evaluación queda la inclusión de imágenes de referencia y video de referencia del BD funcionando (obviamente que, si a nadie le interesa, no agrego ni una wea)
 
Última edición:
Buenas,
magnifico aporte compañero :cuadro9: yo estoy en fase de aprendizaje de este programa y aprecio enormemente la currada que te has pegado. Espero que continues con los demas capitulos que tenias previsto elaborar. De seguro que te ire haciendo preguntas sobre dudas que me van surgiendo en mis propios montajes personalizados de bluray.

editado: por cierto he ido a consultar "MIS GUIAS DE EDICIÓN DE VIDEO" de tu firma y el link esta roto.
 
Cimpadrito, "mis guías de edición de video" las confeccioné hace más de 10 años, cuando ni siquiera había conciencia del HD en Chilito, recién salíamos de los VCDs y SVCDs para entrar en la creación de DVDs y las herramientas no eran tantas, ni tan buenas. La información de estas guías habría que buscarla en el foro, si es que está, ya que los cambios de servidor y de plataforma perdieron bastantes temas y no les he hecho seguimiento. Sin embargo, he logrado recuperar varias guías, las que están en fase de (lenta) actualización, sobre todo por la aparición de mejores aplicaciones y herramientas. Así que paciencia.

Sobre la creación de Blu-rays, juegue no más, no lo sé todo, pero habiendo creado dos, algo manejo el tema.
 
Jeje, ya me di cuenta que el foro estaba en un estado "fantasma", lastima que la actividad ha quedado relegada a años anteriores. La duda que me sale con el Scenarist BD es la de cómo crear en el editor de Navicommand Editor los comandos adecuados para decirle al BD que idioma/subtitulos escoger por defecto cuando se está reproduciendo, he mirado pero no acabo de saber como se hace el proceso. A ver si me puedes dar una mano.
 
Suponiendo que el flujo de funcionamiento es [insertar disco → reproducción automática], los subtítulos y el audio de dicha reproducción debieran especificarse con el comando SetSystem → SetStream, antes de que se inicie la reproducción.
 
Ese flujo no se da en los BD de los que hablo. Todos una vez insertado el BD (disco o carpeta) entonces llama a un menu general con las opciones: Reproducir Audios/Subtítulos Extras
El tema sería que sin pasar manualmente por la opción de selección de Audio/Subtitulo sino eligiendo directamente Reproducir en el menú pues la película reproduzca por defecto el Audio X de otros que tiene y Subtitulo normal/forzado X o no reproducir Subtitulo.
¿Cómo habria de proceder con los comandos? Tendría que situarme en el "First Playback" en un Bd con estas características o ir al "Subplay Item" de la pelicula principal con sus audios/subtítulos? O en ambos habria de insertar los comandos? En fin, si hace falta te iré concretando más.
Gracias por esas manos generosas ;)
 
Entonces lo debes ejecutar antes de la PlayList del Menú (al final del FirstPlayback o al principio del TopMenu, según cómo quieras que se comporte), algo así:

SetSystem SetStream(subtítulo)
SetSystem SetStream(audio)
PlayPL TopMenu
 
Última edición:
En esta captura se observa lo que hice para intentar que cuando diera Play en el menú principal ya saltara la pelicula con el audio por defecto. No hubo suerte, no funciono, seguro que hay muchas cosas que se me escapan.

En el campo del Value (Hex: Decimal: supongo que es donde he de seleccionar el audio por defecto, lo que no tengo claro es como identifico con esos valores cual es el audio.
Ya me indicaras que habria de hacer. Por lo que me has comentado, podria haber creado el comando dentro del FirstPlayback pero en la última línea en vez de en la primera como lo había hecho? Las últimas eran:
1596 Go to Label#xxx
Label#xxx[Label]
1597 Nop

Una vez creada para el audio o subtitulo hay diferentes valores, si me los pudieras especificar pues genial. Te adjunto otra imagen de los campos de los que te comento.
 
Cimpadrito, si no sabe utilizar los "Immediate" no los use, si bien estos valores corresponden a los ID de cada objeto. En cambio, utilice los "Entry" que vienen etiquetados y permiten identificar fácilmente los objetos.

De todas formas sería bueno saber si tiene claro el flujo o árbol de programación del BD, eso le ayudaría a decidir dónde ubicar los comandos. En mi caso, no hice ningún "mono" porque era prácticamente seleccionar el botón y ejecutar, no tenía ninguna activación de audios, subtítulos u otra parafernalia. En el suyo, probablemente quiera activar y seleccionar opciones, lo cual requiere un poco más de habilidad, sobre todo si quiere que éstas no se reseteen una vez que elige un título.

Como recordatorio, considere que hay comandos que terminan la ejecución de una lista de comandos (Jump Title, Call Title, LinkMK, LinkPI, Set Button Page, Set Pop Up Off), por lo tanto hay que dejarlos para el final.

Por último, ponga las líneas de código de los objetos en cuestión, para cachar qué está haciendo cada cosa.
 
Nada Alex, el tema de los comandos es una lección pendiente para mi, veo que es muy complejo y los tutoriales sobre el tema casi son nulos al menos en foros públicos. Todo lo que se sobre Scenarist es a base de ensayo/error y de manera autodidacta. Agradecido por tu tiempo, si supieras de algun foro que trabajen sobre la edición con Scenarist y se pudiera uno empapar y aprender pues se agradecería. Si me surgieran dudas más "terrenales" ya las comentaría por aquí.
 
Revisa y estudia el manual del Scenarist, es un buen punto de partida para todo lo que quieras hacer, excepto BD-J, que requiere además conocimiento en Java.
 
Revisa y estudia el manual del Scenarist, es un buen punto de partida para todo lo que quieras hacer, excepto BD-J, que requiere además conocimiento en Java.
Sí señor y tienes toda la razón, cuantas veces no queremos recorrer los 100m. y llegar a la meta antes de empezar a correr los primeros pasos. :blush:

Saludos.
 
Simple y muy interesante.
¿Tienes tutoriales de 3D?
Nunca puedo abrir la función "StillImage Output".
Muchas gracias.
Giorgio
 
Última edición:
Simple y muy interesante.
¿Tienes tutoriales de 3D?
Nunca puedo abrir la función "StillImage Output".
Muchas gracias.
Giorgio
No entiendo a qué te refieres, ¿qué es lo que quieres hacer?
 
Volver
Arriba