min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

RaspberryPi 3 をh264動画変換サーバにする(twitter情報 mpegts2h246.sh を試す)

 

前2記事の続き。

min117.hatenablog.com

min117.hatenablog.com

twitter で情報をくれた人がいた。

f:id:min117:20160621060625j:plain

技術者見習いの独り言: Raspberry PiでH.264エンコード

f:id:min117:20160621060929p:plain

これはかなり期待。

ーーー

#!/usr/bin/bash
#
# Usage: mpegts2h264.sh <src.ts> <dst.mp4>
#

program_no=$(ffmpeg -i $1 2>&1 | grep Program | head -n 1 | awk '{ print $2 }')
video_sid=$(ffmpeg -i $1 2>&1 | grep Stream | grep Video | sed -e "s/^.*Stream #0:0\[0x\([0-9a-f][0-9a-f][0-9a-f]\)\].*$/\1/g")
audio_sid=$(ffmpeg -i $1 2>&1 | grep Stream | grep Audio | sed -e "s/^.*Stream #0:1\[0x\([0-9a-f][0-9a-f][0-9a-f]\)\].*$/\1/g")

gst-launch-1.0 filesrc location=./$1 ! progressreport ! \
tsdemux program-number=$program_no name=demuxer \
demuxer.video_0$video_sid ! video/mpeg ! queue max-size-time=0 max-size-buffers=0 ! \
  mpegvideoparse ! omxmpeg2videodec ! \
  videoconvert ! omxh264enc target-bitrate=4500000 control-rate=variable periodicty-idr=240 ! \
  video/x-h264,stream-format=byte-stream,profile=high ! h264parse ! mux. \
demuxer.audio_0$audio_sid ! audio/mpeg ! queue max-size-time=0 max-size-buffers=0 ! \
  aacparse ! avdec_aac ! audioresample ! audioconvert dithering=0 ! faac bitrate=128000 ! \
mp4mux streamable=true name=mux ! filesink location=$2

$ vim mpegts2h264.sh

1行目だけ変更

(変更前)#!/usr/bin/bash

(変更後)#!/bin/bash

f:id:min117:20160621061023p:plain

ソースはこれ。

20160621_054832.ts

f:id:min117:20160621061438p:plain

f:id:min117:20160621061507p:plain

f:id:min117:20160621061523p:plain

$ ./mpegts2h264.sh 20160621_054832.ts

f:id:min117:20160621061723p:plain

ダメやね…エラーになる。

gst_element_make_from_uri: assertion 'gst_uri_is_valid(uri)' failed

調べる。