前2記事の続き。
twitter で情報をくれた人がいた。
技術者見習いの独り言: Raspberry PiでH.264エンコード
これはかなり期待。
#!/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
ソースはこれ。
20160621_054832.ts
$ ./mpegts2h264.sh 20160621_054832.ts
ダメやね…エラーになる。
gst_element_make_from_uri: assertion 'gst_uri_is_valid(uri)' failed
調べる。