11.Nas_1


새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


우분투)tvheadend 에서 Compile FFmpeg for Ubuntu, Debian, or Mint 동작 트랜스 코딩 확인

♨ 카랜더 일정 :
  • 링크

  • 첨부

  • 컨텐츠 정보

    본문

    우분투)tvheadend 에서 Compile FFmpeg for Ubuntu, Debian, or Mint 동작  트랜스 코딩 확인 

    우분투 설치후 ffmpeg의 기본설치후 추가적인 cording을 해야 합니다

    libx264 H.264 하나 제대로 트랜스코딩 동작

    Compile FFmpeg for Ubuntu, Debian, or Mint

    https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

    상기 링크에 대한 기본 컴파일 설치 명령을 순서대로 설치 합니다

    이후 저의 시스템에서 tvheadend 스트림을 설정합니다

    사용버전

    3232235521_1545797872.4115.png

     개인 설정 정의 스트림 설정

    3232235521_1545797827.2308.png

     3232235521_1545798312.5142.png

    3232235521_1545798261.3297.png


     기본으로 되는 transcording_av-lib 에서 동작 분석  

      : 다른것은 ffmpeg 초기 설치 에서는 안되네요

     transcode: 0037: 1:H264 1920x1080 ==> MPEG2VIDEO 1280x720 (mpeg2video)

    3232235521_1545798507.7184.png

    3232235521_1545798456.4489.png

    3232235521_1545798479.6147.png


    2018-12-26 13:29:03.921 subscription: 00D6: "192.168.0.12 [ shimss | Kodi Media Center ]" unsubscribing from "SPOTV2_128", hostname="192.168.0.12", username="shimss", client="Kodi Media Center"

    2018-12-26 13:29:04.021 mpegts: skbtv.m3u - Billiards TV_130 in sk - tuning on IPTV

    2018-12-26 13:29:04.023 subscription: 00D8: "192.168.0.12 [ shimss | Kodi Media Center ]" subscribing on channel "Billiards TV_130", weight: 100, adapter: "IPTV", network: "sk", mux: "skbtv.m3u - Billiards TV_130", service: "Billiards TV_130", profile="transcording_av-lib", hostname="192.168.0.12", username="shimss", client="Kodi Media Center"

    2018-12-26 13:29:04.164 transcode: 0037: 1:H264 1920x1080 ==> MPEG2VIDEO 1280x720 (mpeg2video)

    2018-12-26 13:29:04.164 transcode: 0037: 2:AAC-LATM ==> Passthrough

    2018-12-26 13:29:04.202 transcode: 0037: 1:H264 1920x1080 ==> MPEG2VIDEO 1280x720 (mpeg2video)

    2018-12-26 13:29:04.202 transcode: 0037: 2:AAC-LATM ==> Passthrough

    2018-12-26 13:29:04.642 libav: SPS unavailable in decode_picture_timing

    2018-12-26 13:29:04.642 libav: non-existing PPS 0 referenced

    2018-12-26 13:29:04.642 libav: decode_slice_header error

    2018-12-26 13:29:04.642 libav: no frame!

    2018-12-26 13:29:04.642 libav: SPS unavailable in decode_picture_timing

    2018-12-26 13:29:04.642 libav: non-existing PPS 0 referenced

    2018-12-26 13:29:04.642 libav: decode_slice_header error

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

    Compile FFmpeg for Ubuntu, Debian, or Mint

    추가 설치후 가능 코덱분석

    libx264

    H.264 video encoder. See the H.264 Encoding Guide for more information and usage examples.

    Requires ffmpeg to be configured with --enable-gpl --enable-libx264.

    If your repository provides libx264-dev version ≥ 118 then you can install that instead of compiling:

    sudo apt-get install libx264-dev
    

    Otherwise you can compile:

    cd ~/ffmpeg_sources && \
    git -C x264 pull 2> /dev/null || git clone --depth 1 https://git.videolan.org/git/x264 && \
    cd x264 && \
    PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --enable-pic && \
    PATH="$HOME/bin:$PATH" make && \
    make install

     transcode: 003B: 1:H264 1920x1080 ==> H264 1280x720 (libx264)

    3232235521_1545799065.9035.png

    3232235521_1545800167.8186.png

        libx264 H.264 하나 제대로 트랜스코딩 동작 합니다 


    2018-12-26 13:35:29.764 mpegts: skbtv.m3u - Billiards TV_130 in sk - tuning on IPTV

    2018-12-26 13:35:29.768 subscription: 00E0: "192.168.0.12 [ shimss | Kodi Media Center ]" subscribing on channel "Billiards TV_130", weight: 100, adapter: "IPTV", network: "sk", mux: "skbtv.m3u - Billiards TV_130", service: "Billiards TV_130", profile="transcording_av-lib", hostname="192.168.0.12", username="shimss", client="Kodi Media Center"

    2018-12-26 13:35:29.919 transcode: 003B: 1:H264 1920x1080 ==> H264 1280x720 (libx264)

    2018-12-26 13:35:29.919 transcode: 003B: 2:AAC-LATM ==> Passthrough

    2018-12-26 13:35:29.949 transcode: 003B: 1:H264 1920x1080 ==> H264 1280x720 (libx264)

    2018-12-26 13:35:29.949 transcode: 003B: 2:AAC-LATM ==> Passthrough

    2018-12-26 13:35:30.145 transcode: 003B: Using preset ultrafast

    2018-12-26 13:35:30.173 libav: using SAR=1/1

    2018-12-26 13:35:30.192 libav: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

    2018-12-26 13:35:30.193 libav: profile Constrained Baseline, level 3.2

    2018-12-26 13:35:30.193 libav: 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=150 keyint_min=15 scenecut=0 intra_refresh=0 rc_lookahead=0 rc=abr mbtree=0 bitrate=4000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=5000 vbv_bufsize=15000 nal_hrd=none filler=0 ip_ratio=1.40 aq=0

    2018-12-26 13:35:31.372 TS: sk/skbtv.m3u - Billiards TV_130/Billiards TV_130: H264 @ #1539 Continuity counter error (total 1)

    2018-12-26 13:35:31.372 TS: sk/skbtv.m3u - Billiards TV_130/Billiards TV_130: AAC-LATM @ #2539 Continuity counter error (total 1)

    2018-12-26 13:35:31.384 libav: Increasing reorder buffer to 1

    2018-12-26 13:35:31.459 libav: mmco: unref short failure

    2018-12-26 13:35:33.312 libav: mmco: unref short failure

    2018-12-26 13:35:33.343 libav: mmco: unref short failure

    2018-12-26 13:35:38.589 libav: mmco: unref short failure

    2018-12-26 13:35:52.297 TS: sk/skbtv.m3u - Billiards TV_130/Billiards TV_130: H264 @ #1539 Continuity counter error (total 5)

    2018-12-26 13:35:52.405 libav: mmco: unref short failure

    ==========

    transcode: 0040: 1:H264 1920x1080 ==> HEVC 1280x720 (libx265)

    못볼 정도로 화면 끊김

    3232235521_1545799517.0642.png


    2018-12-26 13:43:16.883 libav: mmco: unref short failure

    2018-12-26 13:43:21.044 subscription: 00EB: "192.168.0.12 [ shimss | Kodi Media Center ]" unsubscribing from "SPOTV+_127", hostname="192.168.0.12", username="shimss", client="Kodi Media Center"

    2018-12-26 13:43:21.128 mpegts: skbtv.m3u - Billiards TV_130 in sk - tuning on IPTV

    2018-12-26 13:43:21.130 subscription: 00EC: "192.168.0.12 [ shimss | Kodi Media Center ]" subscribing on channel "Billiards TV_130", weight: 100, adapter: "IPTV", network: "sk", mux: "skbtv.m3u - Billiards TV_130", service: "Billiards TV_130", profile="transcording_av-lib", hostname="192.168.0.12", username="shimss", client="Kodi Media Center"

    2018-12-26 13:43:21.275 transcode: 0040: 1:H264 1920x1080 ==> HEVC 1280x720 (libx265)

    2018-12-26 13:43:21.275 transcode: 0040: 2:AAC-LATM ==> Passthrough

    2018-12-26 13:43:21.553 transcode: 0040: Using preset ultrafast

    2018-12-26 13:43:25.346 TS: sk/skbtv.m3u - Billiards TV_130/Billiards TV_130: H264 @ #1539 Continuity counter error (total 1)

    2018-12-26 13:43:25.346 TS: sk/skbtv.m3u - Billiards TV_130/Billiards TV_130: AAC-LATM @ #2539 Continuity counter error (total 1)

    2018-12-26 13:43:25.443 libav: mmco: unref short failure

    2018-12-26 13:43:25.468 libav: Increasing reorder buffer to 1

    ===================== 이하 링크 정보 ===============

     Compile FFmpeg for Ubuntu, Debian, or Mint

    https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

    순서대로 설치 합니다.





    Get the Dependencies

    These are packages required for compiling, but you can remove them when you are done if you prefer:

    sudo apt-get update -qq && sudo apt-get -y install \
      autoconf \
      automake \
      build-essential \
      cmake \
      git-core \
      libass-dev \
      libfreetype6-dev \
      libsdl2-dev \
      libtool \
      libva-dev \
      libvdpau-dev \
      libvorbis-dev \
      libxcb1-dev \
      libxcb-shm0-dev \
      libxcb-xfixes0-dev \
      pkg-config \
      texinfo \
      wget \
      zlib1g-dev
    

    Note: Server users can omit the ffplay and x11grab dependencies: libsdl2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev.

    In your home directory make a new directory to put all of the source code and binaries into:

    mkdir -p ~/ffmpeg_sources ~/bin
    

    Compilation & Installation

    This guide assumes that you want to install some of the most common third-party libraries. Each section provides you with the commands needed to install that library.

    For each section, copy-paste the entire code-block into your shell.

    If you do not require certain features, you may skip the relevant section (if it is not required) and then remove the appropriate ./configure option in FFmpeg. For example, if libvpx is not needed, skip that section and then remove --enable-libvpx from the Install FFmpegsection.

    Tip: To significantly speed up the compilation process on systems with multiple cores, you can use the -j option with each make command, such as make -j4.

    NASM

    An assembler used by some libraries.

    cd ~/ffmpeg_sources && \
    wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.bz2 && \
    tar xjvf nasm-2.13.03.tar.bz2 && \
    cd nasm-2.13.03 && \
    ./autogen.sh && \
    PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
    make && \
    make install
    

    Yasm

    An assembler used by some libraries.

    If your repository provides yasm version ≥ 1.2.0 then you can install that instead of compiling:

    sudo apt-get install yasm
    

    Otherwise you can compile:

    cd ~/ffmpeg_sources && \
    wget -O yasm-1.3.0.tar.gz https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz && \
    tar xzvf yasm-1.3.0.tar.gz && \
    cd yasm-1.3.0 && \
    ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
    make && \
    make install
    

    libx264

    H.264 video encoder. See the H.264 Encoding Guide for more information and usage examples.

    Requires ffmpeg to be configured with --enable-gpl --enable-libx264.

    If your repository provides libx264-dev version ≥ 118 then you can install that instead of compiling:

    sudo apt-get install libx264-dev
    

    Otherwise you can compile:

    cd ~/ffmpeg_sources && \
    git -C x264 pull 2> /dev/null || git clone --depth 1 https://git.videolan.org/git/x264 && \
    cd x264 && \
    PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --enable-pic && \
    PATH="$HOME/bin:$PATH" make && \
    make install
    

    libx265

    H.265/HEVC video encoder. See the H.265 Encoding Guide for more information and usage examples.

    If your repository provides libx265-dev version ≥ 68 then you can install that instead of compiling:

    sudo apt-get install libx265-dev libnuma-dev
    

    Otherwise you can compile:

    sudo apt-get install mercurial libnuma-dev && \
    cd ~/ffmpeg_sources && \
    if cd x265 2> /dev/null; then hg pull && hg update; else hg clone https://bitbucket.org/multicoreware/x265; fi && \
    cd x265/build/linux && \
    PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off ../../source && \
    PATH="$HOME/bin:$PATH" make && \
    make install
    

    libvpx

    VP8/VP9 video encoder/decoder. See the VP9 Video Encoding Guide for more information and usage examples.

    Requires ffmpeg to be configured with --enable-libvpx.

    If your repository provides libvpx-dev version ≥ 1.4.0 then you can install that instead of compiling:

    sudo apt-get install libvpx-dev
    

    Otherwise you can compile:

    cd ~/ffmpeg_sources && \
    git -C libvpx pull 2> /dev/null || git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \
    cd libvpx && \
    PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm && \
    PATH="$HOME/bin:$PATH" make && \
    make install
    

    libfdk-aac

    AAC audio encoder. See the AAC Audio Encoding Guide for more information and usage examples.

    Requires ffmpeg to be configured with --enable-libfdk-aac (and --enable-nonfree if you also included --enable-gpl).

    If your repository provides libfdk-aac-dev then you can install that instead of compiling:

    sudo apt-get install libfdk-aac-dev
    

    Otherwise you can compile:

    cd ~/ffmpeg_sources && \
    git -C fdk-aac pull 2> /dev/null || git clone --depth 1 https://github.com/mstorsjo/fdk-aac && \
    cd fdk-aac && \
    autoreconf -fiv && \
    ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
    make && \
    make install
    

    libmp3lame

    MP3 audio encoder.

    Requires ffmpeg to be configured with --enable-libmp3lame.

    If your repository provides libmp3lame-dev version ≥ 3.98.3 then you can install that instead of compiling:

    sudo apt-get install libmp3lame-dev
    

    Otherwise you can compile:

    cd ~/ffmpeg_sources && \
    wget -O lame-3.100.tar.gz https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz && \
    tar xzvf lame-3.100.tar.gz && \
    cd lame-3.100 && \
    PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm && \
    PATH="$HOME/bin:$PATH" make && \
    make install
    

    libopus

    Opus audio decoder and encoder.

    Requires ffmpeg to be configured with --enable-libopus.

    If your repository provides libopus-dev version ≥ 1.1 then you can install that instead of compiling:

    sudo apt-get install libopus-dev
    

    Otherwise you can compile:

    cd ~/ffmpeg_sources && \
    git -C opus pull 2> /dev/null || git clone --depth 1 https://github.com/xiph/opus.git && \
    cd opus && \
    ./autogen.sh && \
    ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
    make && \
    make install
    

    libaom

    AV1 video encoder/decoder:

    Warning: libaom does not yet appear to have a stable API, so compilation of libavcodec/libaomenc.c may occasionally fail. Just wait a day or two for us to catch up with these annoying changes, re-download ffmpeg-snapshot.tar.bz2, and try again. Or skip libaom altogether.

    cd ~/ffmpeg_sources && \
    git -C aom pull 2> /dev/null || git clone --depth 1 https://aomedia.googlesource.com/aom && \
    mkdir aom_build && \
    cd aom_build && \
    PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off -DENABLE_NASM=on ../aom && \
    PATH="$HOME/bin:$PATH" make && \
    make install
    

    FFmpeg

    cd ~/ffmpeg_sources && \
    wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
    tar xjvf ffmpeg-snapshot.tar.bz2 && \
    cd ffmpeg && \
    PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
      --prefix="$HOME/ffmpeg_build" \
      --pkg-config-flags="--static" \
      --extra-cflags="-I$HOME/ffmpeg_build/include" \
      --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
      --extra-libs="-lpthread -lm" \
      --bindir="$HOME/bin" \
      --enable-gpl \
      --enable-libaom \
      --enable-libass \
      --enable-libfdk-aac \
      --enable-libfreetype \
      --enable-libmp3lame \
      --enable-libopus \
      --enable-libvorbis \
      --enable-libvpx \
      --enable-libx264 \
      --enable-libx265 \
      --enable-nonfree && \
    PATH="$HOME/bin:$PATH" make && \
    make install && \
    hash -r
    

    Now re-login or run the following command for your current shell session to recognize the new ffmpeg location:

    			
    [ 추가 정보 ... 더보기) ]
    뷰PDF 1,2



    office view

    관련자료

    댓글목록

    등록된 댓글이 없습니다.


    새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


    • 일간 조회수
        • 게시물이 없습니다.
    • 주간 조회수
        • 게시물이 없습니다.
    • 월간 조회수
        • 게시물이 없습니다.


    Total 1,766 / 1 Page
    [ ● web page 공유폴더 구성하여 web site 만들기 ]

    ● web page 공유폴더 구성하여 web site 만들기구성 조건도메인 별도 구성1)기존사용 도메인 : 11q.kr2) 추가도메인 구입 :1…

    [ ● ha작업) 멀티 도메인 적용 https://ha.ddns 를 시놀로지에 기본 인증서 적용하고 duckdn… ]

    ● ha작업)멀티 도메인 적용 https://ha.ddns 를 시놀로지에 기본 인증서 적용하고 duckdns.org 및 npm 설치 필요 없네요…


    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-11-23 10:56:03

    오늘의 홈 현황


    • 현재 접속자♨ 370 명
    • 오늘 가입자※ 0 명
    • 어제 가입자※ 3 명
    • 주간 가입자※ 9 명
    • 오늘 방문자 2,320 명
    • 어제 방문자 3,461 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,804,937 명
    • 전체 게시물※ 8,856 개
    • 전체 댓글수※ 25,231 개
    • 전체 회원수 11,325 명

    QR코드


    ☞ QR코드 스캔은 kakao앱 자체 QR코드

    알림 0








    최신글↑