Cómo evitar que HDHomeRun grabe programas

Esta solución deja un archivo “stub” de 100K en lugar del video original de HDHomeRun con solo los metadatos originales para que HDHR lo reconozca y no vuelva a grabar el programa


Paso 1: Descarga los archivos necesarios

  1. Crea una carpeta llamada C:\PartCopy
  2. Descarga los siguientes 2 archivos y colócalos en la carpeta anterior

Paso 2: Primero modifica tu perfil para incluir esto:

PostCustomCommandPath=C:\PartCopy\MakeStub.bat
PostCustomCommandParameters="%sourcefile%" 0d 100000d
PostCustomCommandHangPeriod=600
PostCustomCommandCritical=true
PostCustomCommandUISession=false
PostCustomCommandShowWindow=false
PostCustomCommandExitCodeCheck=false

El 0d indica comenzar desde la posición 0 (decimal) y 100000d indica copiar los primeros 100K bytes (decimal)

Paso 3 (Opcional): Archivar en lugar de eliminar el archivo original

Este script MakeStub.bat eliminará el archivo original y lo reemplazará con un stub. Si quieres archivar el archivo original en lugar de eliminarlo, edita el archivo batch (MakeStub.bat) y reemplaza la línea

del %1

con

move %1 "C:\ArchivedFiles"

Esto moverá el archivo original a la carpeta C:\ArchivedFiles, puedes cambiar el nombre de la carpeta según corresponda.

No funcionó para mí. Aquí está un fragmento de mi código de error y mi perfil

2017-07-09T23:40:56 MCEBuddy.Transcode.CustomCommand → Parámetros de comando personalizado leídos →

PostCustomCommandPath = c:\partcopy\partcopy.exe 
PostCustomCommandParameters = "%sourcefile%" "%originalfilepath%\%originalfilename%.%originalext%" 0d 100000d 
PostCustomCommandHangPeriod = 600 
PostCustomCommandCritical = True 
PostCustomCommandUISession = False 
PostCustomCommandShowWindow = False 
PostCustomCommandExitCodeCheck = False
2017-07-09T23:40:56 MCEBuddy.Transcode.CustomCommand --> A punto de ejecutar comando personalizado con parámetros: 
PostCustomCommandPath = c:\partcopy\partcopy.exe 
PostCustomCommandParameters = "\\WDMYCLOUD\HDHomeRun\Orphan Black\Orphan Black S05E05 20170708 [20170709-0200].mpg" "\\WDMYCLOUD\HDHomeRun\Orphan Black\Orphan Black S05E05 20170708 [20170709-0200].mpg" 0d 100000d 
PostCustomCommandHangPeriod = 600 
PostCustomCommandCritical = True 
PostCustomCommandUISession = False 
PostCustomCommandShowWindow = False 
PostCustomCommandExitCodeCheck = False
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base --> Lanzando proceso c:\partcopy\partcopy.exe
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base --> Argumentos del proceso "\\WDMYCLOUD\HDHomeRun\Orphan Black\Orphan Black S05E05 20170708 [20170709-0200].mpg" "\\WDMYCLOUD\HDHomeRun\Orphan Black\Orphan Black S05E05 20170708 [20170709-0200].mpg" 0d 100000d
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base --> Proceso de sesión de interfaz de usuario Admin : False
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base --> Estableciendo prioridad del proceso a Normal
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  P a r t C o p y   -   V e r s i ó n   1 . 1 2   R e l e a s e   1   B u i l d   3 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  C o p y r i g h t   ( C )   2 0 0 5 - 2 0 1 4   J o h n   B u o r o ,   V i r t u a l O b j e c t i v e s . 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  A l l   R i g h t s   R e s e r v e d . 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  T h i s   p r o g r a m   i s   F r e e w a r e   a n d   m u s t   n o t   b e   d i s t r i b u t e d   o r   s o l d   f o r   p r o f i t . 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  U s i n g   C o m m a n d - L i n e   P a r a m e t e r s 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  S o u r c e   F i l e   =   \\ \\ W D M Y C L O U D \\ H D H o m e R u n \\ O r p h a n   B l a c k \\ O r p h a n   B l a c k   S 0 5 E 0 5   2 0 1 7 0 7 0 8   [ 2 0 1 7 0 7 0 9 - 0 2 0 0 ] . m p g 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  D e s t i n a t i o n   F i l e   =   \\ \\ W D M Y C L O U D \\ H D H o m e R u n \\ O r p h a n   B l a c k \\ O r p h a n   B l a c k   S 0 5 E 0 5   2 0 1 7 0 7 0 8   [ 2 0 1 7 0 7 0 9 - 0 2 0 0 ] . m p g 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  E R R O R :   S o u r c e   a n d   d e s t i n a t i o n   f i l e s   c a n n o t   b e   t h e   s a m e ! 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  S t a r t   P o s i t i o n   =   0 d 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  O f f s e t   L e n g t h   =   1 0 0 0 0 0 d 
2017-07-09T23:40:56 MCEBuddy.AppWrapper.Base -->  
--> El proceso terminó con código 1

mi perfil

[HDHomeRun H.264 alta calidad]
Description=Use esto para eliminar los comerciales y convertir el video de origen en un archivo MPG compatible con SiliconDust HDHomeRun con video/audio (H.264/AC3).
order=handbrake,ffmpeg 
ffmpeg-general=-threads 0 
ffmpeg-video=-ss 3 -vf yadif=0:-1:1,hqdn3d -vcodec libx264 -b 1800k -x264opts me=hex:trellis=2:subq=8:partitions=all:8x8dct=1:ref=5:rc-lookahead=50:keyint=25:min-keyint=20:bframes=3:weightb=1:level=4.0:b-pyramid=normal:direct=auto:mixed-refs=1:deblock=-1,-1:no-fast-pskip=1:no-dct-decimate=1:b-adapt=2:threads=auto -map 0:v -sn
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a 
ffmpeg-audioac3=-acodec ac3 -ab 384K -map 0:a 
ffmpeg-ext=.ts 
ffmpeg-audiodelay=skip 
handbrake-general=--decomb --denoise="weak" --loose-anamorphic --verbose=2 -T -f mp4 -O
handbrake-video=--start-at duration:3 -e x264 -b 1800 -x me=hex:trellis=2:subq=8:partitions=all:8x8dct:ref=5:rc-lookahead=50:keyint=25:keyint-min=20:bframes=3:weight-b:level-idc=40:b-pyramid=normal:direct-pred=auto:mixed-refs:deblock=-1,-1:nofast-pskip:nodct-decimate:b-adapt=2:threads=auto
handbrake-audio=-E ffac3 -R auto -B 192 -D 0 -a 1,2,3,4,5 
handbrake-audioac3=-E ffac3 -R auto -B 384 -D 0 -a 1,2,3,4,5 
handbrake-ext=.mp4 
handbrake-remuxto=.ts 
handbrake-audiodelay=skip 
PreConversionCommercialRemover=true 
RenameExt=.mpg
PostCustomCommandPath=C:\PartCopy\PartCopy.exe
PostCustomCommandParameters="\"%sourcefile%\" \"%originalfilepath%\\%originalfilename%.%originalext%\" 0d 100000d"
PostCustomCommandHangPeriod=600
PostCustomCommandCritical=true
PostCustomCommandUISession=false
PostCustomCommandShowWindow=false
PostCustomCommandExitCodeCheck=false

Por favor, encierra el contenido entre comillas de código ``` o márquelo como texto preformateado para que se conserven los caracteres y sea más legible (edita tu publicación por ahora).

Voy a arriesgarme y decir que has activado una de estas opciones:

O bien Skip copying original files o Skip remuxing files

Si es así, debes asegurarte de que NINGUNA de estas opciones esté marcada; probablemente eso es por lo que falla, porque cuando no copias, el \"%sourcefile% es lo mismo que %originalfilepath%\\%originalfilename%.%originalext%, que es lo que PartCopy está rechazando: origen y destino son iguales. Si marcas una de estas opciones, terminarás con este problema. Desmárcalas y funcionará.

También ten en cuenta que tu PostCustomCommandParameters carece de comillas dobles ("); todo el conjunto de parámetros va entrecomillado:

PostCustomCommandParameters=""%sourcefile%" "%originalfilepath%\\%originalfilename%.%originalext%" 0d 100000d"

Lo revisé. Las dos casillas omitidas están sin marcar.

Tengo lo siguiente en la configuración de Monitor Location Expert:
archivar archivo original marcado
Eliminar archivo original sin marcar,
carpeta de archivo designada.
Excluir carpeta en blanco
Edad mínima antes de procesar 1 minuto.
Monitorear videos convertidos marcado
volver a monitorear videos grabados marcado.

¿Podría alguna de estas causar el problema?

Poco probable. ¿Puedes adjuntar tu registro de conversión?

Tienes razón, acabo de verificar, este problema ocurre con las compilaciones más recientes. Para resolver este problema, necesitaremos un archivo por lotes para sobrescribir el archivo original. He creado un archivo por lotes y actualizado las instrucciones en la primera publicación. Pruébalo y ahora debería funcionar.

Parece que ahora está creando el archivo, pero parece que borra el archivo original (no lo archiva) y luego mueve el archivo de 10k a mi carpeta de archivado.

Sí, eso es correcto. Este script sobrescribirá el archivo original. Si deseas archivar en lugar de eliminar, simplemente modifica el archivo por lotes para mover el original a una carpeta de archivos en lugar de eliminarlo.

Aquí tienes un ejemplo de un archivo por lotes (reemplaza el contenido de MakeStub.bat) que puede usarse para archivar el original en lugar de eliminarlo y dejar el stub:

PartCopy %1 %1.tmp %2 %3
move %1 C:\\ArchivedFiles
move %1.tmp %1

He actualizado las instrucciones originales para reflejar esto.

Funciona de maravilla. ¡Gracias!

Ahora necesito experimentar para crear un perfil que solo genere el archivo de 100k para completar todas mis grabaciones antiguas.

Eso es fácil. Usa la opción Rename only en la Tarea de Conversión y usa el mismo perfil con el comando personalizado en él. No importa qué perfil estés usando porque cuando habilitas solo renombrar solo renombra y no recodifica, pero al final el comando personalizado se ejecutará creando tus 100k stubs. Asegúrate de que la detección comercial esté desactivada.

¿Sigue siendo este el método preferido para evitar que el HDHomerun vuelva a grabar programas? Convertí todas mis grabaciones usando el perfil HDHR H.265 y las moví a otra carpeta y archivé los archivos antiguos.

Sí, sigue siendo la mejor manera de evitar la grabación.