FFmpeg para m2t y Sony Bravia: no funciona

-f mp4 -c:v libx264 -preset veryslow -tune grain -profile:v high422 -flags +ildct+ilme 

Estoy preparando video para transmitir (DLNA) desde mi NAS a un Sony Bravia más antiguo. Creé con éxito archivos m2t reproducibles (1080i) con VideoStudio (AVC, high@L4, Cabac, h264, vbr max 20 Mbps, 25 fps, entrelazado). El entrelazado es importante porque parece que el televisor no puede manejar 1080p desde NAS o USB. Tengo un video familiar antiguo en prores/mov que VideoStudio no acepta como entrada, así que estoy tratando de convertirlo en algo aceptable para el televisor usando FFmpeg.

  1. No he encontrado una forma de crear archivos m2t con FFmpeg.

  2. Se supone que el televisor es capaz de manejar MP4, pero independientemente de las configuraciones probadas, y he probado docenas que funcionan bien en VLC (incluidos los perfiles compatibles con BD, PSP y otros), el televisor simplemente dice "no se puede reproducir".

Alguien tiene ideas para alguna de las dos rutas?

Buscando en internet me he enterado de que el Sony Bravia se caracteriza por ser muy quisquilloso, pero seguro que alguien ha dado con la clave...? (aparte de los de pavtube, que afirma tener una herramienta comercial, eso funciona)

FFprobe del archivo m2t en funcionamiento:

Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc 
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 384 kb/s

Propiedades de trabajo m2t por MediaTab:

===================== General =====================
Id                          : 0 (0x0)
Complete name               : D:\ThisWorks.m2t
Format                      : BDAV
Format info                 : Blu-ray Video
File size                   : 2.21 GB
Duration (ms)               : 21mn 10s
Overall bit rate mode       : Variable
Overall bit rate            : 14.9 Mbps
Maximum Overall bit rate    : 25.5 Mbps

===================== Video =====================
Id                          : 4113 (0x1011)
Menu ID                     : 1 (0x1)
Format                      : AVC
Format info                 : Advanced Video Codec
Formatprofile               : High@L4
Formatsettings, CABAC       : Yes
Formatsettings, ReFrames    : 2 frames
Formatsettings, GOP         : N=1
Codec Id                    : 27
Duration (ms)               : 21mn 10s
Bit rate mode               : Variable
Bit rate                    : 13.9 Mbps
Maximum bit rate            : 20.0 Mbps
Width                       : 1 920 pixels
Height                      : 1 080 pixels
Display aspect ratio        : 16:9
Frame rate                  : 25.000 fps
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 8 bits
Scan type                   : Interlaced
Scan type, store method     : Separated fields
Scan order                  : Top Field First
Bits/(Pixel*Frame)          : 0.269
Stream size                 : 2.06 GB (93%)

===================== Audio =====================
Id                          : 4352 (0x1100)
Menu ID                     : 1 (0x1)
Format                      : AC-3
Format info                 : Audio Coding 3
Mode extension              : CM (complete main)
Formatsettings, Endianness  : Big
Codec Id                    : 129
Duration (ms)               : 21mn 10s
Bit rate mode               : Constant
Bit rate                    : 384 Kbps
Channel(s)                  : 2 channels
Channel positions           : Front: L R
Sampling rate               : 48.0 KHz
Frame rate                  : 31.250 fps (1536 spf)
Compression mode            : Lossy
Stream size                 : 58.2 MB (3%)
Comparta el registro de ffmpeg -i file.m2tuno de los archivos de VideoStudio en funcionamiento.
¡Gracias! ¿Sería esto lo que está buscando?Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p (arriba primero), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps , 50 tbr, 90k tbn, 50 tbc Transmisión #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, estéreo, fltp, 384 kb/s
Se agregó información adicional sobre el archivo m2t en funcionamiento a la publicación original siguiendo la sugerencia de Gyan. Gracias.

Respuestas (2)

Intentar

ffmpeg -i in -vf format=yuv420p,setsar=1 -g 25 -c:v libx264 -tune grain -profile:v high -refs 2 -x264opts bluray-compat=1:fake-interlaced=1:nalhrd=vbr:aud=1 -maxrate 20M -bufsize 20M -c:a ac3 -ac 2 out.ts

FFmpeg no puede replicar Scan type, store method : Separated fields, pero puede que no importe.

Inicialmente tuve que agregar un guión a x264opts nalhrd para probar la configuración :). Desafortunadamente, no funcionó. El archivo generado todavía "no se puede reproducir". Noté que la salida era progresiva, así que eliminé "falso". Desafortunadamente todavía no se puede jugar. La salida generada tiene un tbr de 25 donde el trabajo tiene 50; no sé si ese es el problema.
` orden: Trabajando la propuesta de m2t Gyan... y sin 'falso-' Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p (arriba primero), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc Transmisión #0:0[0x100 ]: Video: h264 (Alto) ([27][0][0][0] / 0x001B), yuv420p( progresivo), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:0[0x100]: Video: h264 (Alto) ([27][0][0 ][0] / 0x001B), yuv420p (arriba primero), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc `
La salida está destinada a ser progresiva pero marcada como entrelazada, por lo tanto, elfake
Thx, pero independientemente de que la salida sea fake-interlecedo interlacedBravia se niegue a reproducirlo :( ¿Alguna posibilidad de que la salida muestre un tbr de 50?
Agregar-r 50 -vsync vfr
Thx, pero con eso tbr permaneció sin cambios, mientras que fps aumentó a 50 y tbc a 100.
Comparta una pequeña muestra de su aporte.
Claro, ¿hay alguna forma de hacerlo?

¡Eureka!

Después de muchas noches y mucha búsqueda, logré crear una configuración de ffmpeg que crea un 1080i entrelazado que mi antiguo Sony Bravia (2009) puede transmitir desde mi NAS. Esta es la línea de comando:

ffmpeg -y -i in.mov -c:v libx264 -pix_fmt yuv420p -level 4.0 -refs 1 ^
-x264opts b-pyramid=0:bluray-compat=1:interlaced=1:nal-hrd=vbr:aud=1 -maxrate 20M -bufsize 30M ^
-c:a ac3 -b:a 384k -f mpegts out.m2ts

Creo que uno de los elementos críticos fue establecer el nivel correcto. El televisor puede manejar -refs 1 y 2.

¡No puedo decir que entiendo la profundidad total de todas las configuraciones y opciones, y cualquier sugerencia de mejora es más que bienvenida!

El m2ts generado por ffmpeg tiene un tbr de 25:

Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 384 kb/s

... mientras que el "archivo m2t de trabajo" original tenía un tbr de 50. No sé qué significa, y al menos no parece estar haciendo una diferencia

La entrada es una 1080i dnxhd de Davinci Resolve (lamentablemente, DR tiene muy pocas opciones para entregar una salida entrelazada).