{"id":43,"date":"2016-01-12T13:12:18","date_gmt":"2016-01-12T12:12:18","guid":{"rendered":"http:\/\/cayetanosm.es\/blog\/?p=43"},"modified":"2016-01-14T15:43:05","modified_gmt":"2016-01-14T14:43:05","slug":"compilar-tvheadend","status":"publish","type":"post","link":"https:\/\/cayetanosm.es\/blog\/?p=43","title":{"rendered":"Compilar TVHeadend"},"content":{"rendered":"<p>Compilar nuestro propio tvheadend en QNAP como si fuera un paquete QPKG<\/p>\n<p>Preparamos el sistema con los paquetes necesarios:<\/p>\n<pre class=\"lang:sh decode:true \">sudo apt-get update\r\nsudo apt install build-essential git pkg-config libssl-dev bzip2 wget\r\nsudo apt install libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev\r\nsudo apt install gettext\r\n<\/pre>\n<p>Clonamos el proyecto mediante GitHub:<\/p>\n<pre class=\"lang:sh decode:true\">git clone https:\/\/github.com\/tvheadend\/tvheadend.git<\/pre>\n<p>Procedemos a configurar y compilarlo<\/p>\n<pre class=\"lang:sh decode:true \">cd tvheadend\r\n.\/configure --help #Si queremos ver todas las opciones disponibles\r\n.\/configure --disable-avahi --enable-bundle --disable-libav --disable-dbus_1 --release\r\nmake\r\ncd build.linux\r\n.\/tvheadend -C<\/pre>\n<p><a class=\"postlink\" href=\"http:\/\/127.0.0.1:9981\/\">http:\/\/127.0.0.1:9981<\/a> &#8211; check version etc<br \/>\n<a class=\"postlink\" href=\"http:\/\/nas1\/\">http:\/\/NAS1<\/a> &#8211; as admin &#8211; upload tvheadend from \/home\/ubuntu\/tvheadend\/build.linux to NAS1 public share<\/p>\n<p>Tambi\u00e9n hay que subir de la carpeta\u00a0\/lib\/x86_64-linux-gnu los ficheros a\u00a0public share on NAS<\/p>\n<pre class=\"lang:sh decode:true \">libc-2.19.so as libc.so.6\r\nlibcrypto.so.1.0.0 as libcrypto.so.1.0.0\r\nlibdl-2.19.so as libdl.so.2\r\nlibm-2.19.so as libm.so.6\r\nlibnsl-2.19.so as libnsl.so.1\r\nlibnss_compat-2.19.so as libnss_compat.so.2\r\nlibpthread-2.19.so as libpthread.so.0\r\nlibrt-2.19.so as librt.so.1\r\nlibssl.so.1.0.0 as libssl.so.1.0.0\r\nlibz.so.1.2.8 as libz.so.1\r\nld-2.19.so as tvh-loader<\/pre>\n<p>Entrar con \u00abPutty\u00bb al NAS como \u00abadmin\u00bb<\/p>\n<pre class=\"lang:sh decode:true \">tvheadend stop\r\ntvheadend backup \/share\/MD0_DATA\/Public\/tvheadend.config.yymmdd (will need this for regression due to newer configuration items)\r\ncd \/share\/MD0_DATA\/.qpkg\/TVHeadend\/bin\r\ncp tvheadend tvheadend.ori\r\ncp \/share\/MD0_DATA\/Public\/tvheadend .\r\ncd \/share\/MD0_DATA\/.qpkg\/TVHeadend\/bin\/libc\r\ncp tvh-loader tvh-loader.ori\r\ncp libdl.so.2 libdl.so.2.ori\r\ncp libm.so.6 libm.so.6.ori\r\ncp libnsl.so.1 libnsl.so.1.ori\r\ncp libnss_compat.so.2 libnss_compat.so.2.ori\r\ncp libpthread.so.0 libpthread.so.0.ori\r\ncp librt.so.1 librt.so.1.ori\r\ncp libz.so.1 libz.so.1.ori\r\ncp \/share\/MD0_DATA\/Public\/lib* .\r\ncp \/share\/MD0_DATA\/Public\/tvh-loader .\r\ntvheadend debug start\r\n<\/pre>\n<p>Testeamos la interfaz Web, Version, etc<br \/>\nCTRL &amp; C<br \/>\ntvheadend start<\/p>\n<p>To regress stop tvheadend, copy .ori files over the top of the updated files, tvheadend restore \/share\/MD0_DATA\/Public\/tvheadend.config.yymmdd, start tvheadend<\/p>\n<p>Visto en:\u00a0http:\/\/forum.qnap.com\/viewtopic.php?f=276&amp;t=52511&amp;start=1485#p524767<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Compilar nuestro propio tvheadend en QNAP como si fuera un paquete QPKG Preparamos el sistema con los paquetes necesarios: sudo apt-get update sudo apt install build-essential git pkg-config libssl-dev bzip2 wget sudo apt install libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev sudo apt install gettext Clonamos el proyecto mediante GitHub: git clone https:\/\/github.com\/tvheadend\/tvheadend.git Procedemos a\u2026 <span class=\"read-more\"><a href=\"https:\/\/cayetanosm.es\/blog\/?p=43\">Leer m\u00e1s &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[12],"tags":[],"class_list":["post-43","post","type-post","status-publish","format-standard","hentry","category-smarthome"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=43"}],"version-history":[{"count":11,"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":45,"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions\/45"}],"wp:attachment":[{"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cayetanosm.es\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}