●MythFlashの設定(PART3)
前回の続きです。
MythWebを起動して、録画済のページを開きます。
録画済のサムネイル画像をクリックすると別ウィンドウが起動して動画が再生されたら成功です!
ちなみに、録画が終了してからmpgファイルがflvファイルに変換されますので、設定にもよりますが
録画終了から時間をおかないとまだファイルが出来ていないことがあります。
(MythWebのバックエンドステータスのJob Queueにflvファイルに変換中だとか
変換終了だとか失敗したとかの情報が表示されます。)
※補足
MythTVはもともと外国で開発されたので、録画したファイルのCMをスキップする
機能みたいなものがあるようです。
インストール後の標準の状態だと録画したファイルに対してCMのマーキング?をするように
設定されているらしく、flv変換が後回しにされるようです。
(なお、同時実行Job数も変更可能です。)
ですので、上記のCMのマーキング作業の設定を解除しておいたほうがいいです。
どこで解除したのかは失念してしまいましたが、それらしきものがあるはずです^^;
(海外での放送では検知出来ても日本じゃ無理だと思います。実際NGでした。)
さて、ここまで作業は終了です。
以下はお好みで設定してください。
■ファイルの自動削除の設定
(flvファイルの変換元のファイルが存在していなかったらflvファイルも削除するという設定です。)
[root@localhost ~]# cd /usr/local/bin
[root@localhost bin]# vi mythexpire.pl
#!/usr/bin/perl
#Checks the myth recording directory for .flv files that don't have a corresponding .mpg. If found, it deletes them.
#Change below to your myth recordings directory
$directory = "/storage/recordings";
foreach $f (<$directory/*>) {
if ( $f =~ /\.flv$/ )
{
$f =~ s/\.flv$//;
if (!( -e $f )) { `rm -f $f.flv`; };
}
}
[root@localhost bin]# chmod 755 mythexpire.pl
[root@localhost bin]# crontab -e
0 * * * * /usr/local/bin/mythexpire.pl
■ffmpegの設定の見直し
以前に設定した設定ですとはっきりいって画質が悪くてどうしようもなかったので設定を見直してみました。以下の設定ですと、原本の60%ぐらいのファイルサイズでflvファイルが作成されます。
ffmpeg -y -i $directory/$file -b 3000k -r 29.97 -vcodec flv -s 640x480 -ar 22050 -ac 1 -ab 24 $directory/$file.flv 1>/dev/null 2>/dev/null
参考までにMythDoraにインストールされているffmpegの情報をダンプしてみると・・・
[root@kororin bin]# ffmpeg -h
FFmpeg version SVN-r8743, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-x11grab --enable-dc1394 --enable-liba52bin --enable-libdts --enable-libfaac --enable-libfaadbin --enable-libmp3lame --enable-libogg --enable-libtheora --enable-libvorbis --enable-xvid --extra-cflags=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables --disable-strip
libavutil version: 49.4.0
libavcodec version: 51.40.3
libavformat version: 51.12.1
Main options:
-L show license
-h show help
-version show version
-formats show available formats, codecs, protocols, ...
-f fmt force format
-i filename input file name
-y overwrite output files
-t duration set the recording time
-fs limit_size set the limit file size in bytes
-ss time_off set the start time offset
-itsoffset time_off set the input ts offset
-title string set the title
-timestamp time set the timestamp
-author string set the author
-copyright string set the copyright
-comment string set the comment
-album string set the album
-v verbose control amount of logging
-target type specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)
-dframes number set the number of data frames to record
-scodec codec force subtitle codec ('copy' to copy stream)
-newsubtitle add a new subtitle stream to the current output stream
-slang code set the ISO 639 language code (3 letters) of the current subtitle stream
Video options:
-vframes number set the number of video frames to record
-r rate set frame rate (Hz value, fraction or abbreviation)
-s size set frame size (WxH or abbreviation)
-aspect aspect set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)
-croptop size set top crop band size (in pixels)
-cropbottom size set bottom crop band size (in pixels)
-cropleft size set left crop band size (in pixels)
-cropright size set right crop band size (in pixels)
-padtop size set top pad band size (in pixels)
-padbottom size set bottom pad band size (in pixels)
-padleft size set left pad band size (in pixels)
-padright size set right pad band size (in pixels)
-padcolor color set color of pad bands (Hex 000000 thru FFFFFF)
-vn disable video
-vcodec codec force video codec ('copy' to copy stream)
-sameq use same video quality as source (implies VBR)
-pass n select the pass number (1 or 2)
-passlogfile file select two pass log file name
-newvideo add a new video stream to the current output stream
Advanced Video options:
-pix_fmt format set pixel format
-intra use only intra frames
-vdt n discard threshold
-qscale q use fixed video quantizer scale (VBR)
-qdiff q max difference between the quantizer scale (VBR)
-rc_eq equation set rate control equation
-rc_override override rate control override for specific intervals
-me method set motion estimation method
-me_threshold motion estimaton threshold
-strict strictness how strictly to follow the standards
-deinterlace deinterlace pictures
-psnr calculate PSNR of compressed frames
-vstats dump video coding statistics to file
-vhook module insert video processing module
-intra_matrix matrix specify intra matrix coeffs
-inter_matrix matrix specify inter matrix coeffs
-top top=1/bottom=0/auto=-1 field first
-dc precision intra_dc_precision
-vtag fourcc/tag force video tag/fourcc
-qphist show QP histogram
-vbsf bitstream filter
Audio options:
-aframes number set the number of audio frames to record
-aq quality set audio quality (codec-specific)
-ar rate set audio sampling rate (in Hz)
-ac channels set number of audio channels
-an disable audio
-acodec codec force audio codec ('copy' to copy stream)
-vol volume change audio volume (256=normal)
-newaudio add a new audio stream to the current output stream
-alang code set the ISO 639 language code (3 letters) of the current audio stream
Advanced Audio options:
-atag fourcc/tag force audio tag/fourcc
-absf bitstream filter
Subtitle options:
-scodec codec force subtitle codec ('copy' to copy stream)
-newsubtitle add a new subtitle stream to the current output stream
-slang code set the ISO 639 language code (3 letters) of the current subtitle stream
Audio/Video grab options:
-vc channel set video grab channel (DV1394 only)
-tvstd standard set television standard (NTSC, PAL (SECAM))
-isync sync read on input
Advanced options:
-map file:stream[:syncfile:syncstream] set input stream mapping
-map_meta_data outfile:infile set meta data information of outfile from infile
-benchmark add timings for benchmarking
-dump dump each input packet
-hex when dumping packets, also dump the payload
-re read input at native frame rate
-loop_input loop (current only works with images)
-loop_output number of times to loop output in formats that support looping (0 loops forever)
-threads count thread count
-vsync video sync method
-async audio sync method
-vglobal video global header storage type
-copyts copy timestamps
-shortest finish encoding within shortest input
-dts_delta_threshold timestamp discontinuity delta threshold
-muxdelay seconds set the maximum demux-decode delay
-muxpreload seconds set the initial demux-decode delay
AVCodecContext AVOptions:
-b
-ab
-bt
-flags
mv4 E.V.. use four motion vector by macroblock (mpeg4)
obmc E.V.. use overlapped block motion compensation (h263+)
qpel E.V.. use 1/4 pel motion compensation
loop E.V.. use loop filter
gmc E.V.. use gmc
mv0 E.V.. always try a mb with mv=<0,0>
part E.V.. use data partitioning
gray EDV.. only decode/encode grayscale
psnr E.V.. error[?] variables will be set during encoding
naq E.V.. normalize adaptive quantization
ildct E.V.. use interlaced dct
low_delay EDV.. force low delay
alt E.V.. enable alternate scantable (mpeg2/mpeg4)
trell E.V.. use trellis quantization
bitexact EDVAS use only bitexact stuff (except (i)dct)
aic E.V.. h263 advanced intra coding / mpeg4 ac prediction
umv E.V.. use unlimited motion vectors
cbp E.V.. use rate distortion optimization for cbp
qprd E.V.. use rate distortion optimization for qp selection
aiv E.V.. h263 alternative inter vlc
slice E.V..
ilme E.V.. interlaced motion estimation
scan_offset E.V.. will reserve space for svcd scan offset user data
cgop E.V.. closed gop
-me_method
-g
-cutoff
-frame_size
-qcomp
-qblur
-qmin
-qmax
-qdiff
-bf
-b_qfactor
-rc_strategy
-b_strategy
-hurry_up
-ps
-bug
autodetect .DV..
old_msmpeg4 .DV.. some old lavc generated msmpeg4v3 files (no autodetection)
xvid_ilace .DV.. Xvid interlacing bug (autodetected if fourcc==XVIX)
ump4 .DV.. (autodetected if fourcc==UMP4)
no_padding .DV.. padding bug (autodetected)
amv .DV..
ac_vlc .DV.. illegal vlc bug (autodetected per fourcc)
qpel_chroma .DV..
std_qpel .DV.. old standard qpel (autodetected per fourcc/version)
qpel_chroma2 .DV..
direct_blocksize .DV.. direct-qpel-blocksize bug (autodetected per fourcc/version)
edge .DV.. edge padding bug (autodetected per fourcc/version)
hpel_chroma .DV..
dc_clip .DV..
ms .DV.. workaround various bugs in microsofts broken decoders
-lelim
-celim
-strict
very E.V.. strictly conform to a older more strict version of the spec or reference software
strict E.V.. strictly conform to all the things in the spec no matter what consequences
normal E.V..
inofficial E.V.. allow inofficial extensions
experimental E.V.. allow non standardized experimental things
-b_qoffset
-er
careful .DV..
compliant .DV..
aggressive .DV..
very_aggressive .DV..
-mpeg_quant
-qsquish
-rc_qmod_amp
-rc_qmod_freq
-rc_eq
-maxrate
-minrate
-bufsize
-rc_buf_aggressivity
-i_qfactor
-i_qoffset
-rc_init_cplx
-dct
auto E.V.. autoselect a good one (default)
fastint E.V.. fast integer
int E.V.. accurate integer
mmx E.V..
mlib E.V..
altivec E.V..
faan E.V.. floating point AAN DCT
-lumi_mask
-tcplx_mask
-scplx_mask
-p_mask
-dark_mask
-idct
auto EDV..
int EDV..
simple EDV..
simplemmx EDV..
libmpeg2mmx EDV..
ps2 EDV..
mlib EDV..
arm EDV..
altivec EDV..
sh4 EDV..
simplearm EDV..
simplearmv5te EDV..
h264 EDV..
vp3 EDV..
ipp EDV..
xvidmmx EDV..
-ec
guess_mvs .DV.. iterative motion vector (MV) search (slow)
deblock .DV.. use strong deblock filter for damaged MBs
-pred
left E.V..
plane E.V..
median E.V..
-aspect
-debug
pict .DV.. picture info
rc E.V.. rate control
bitstream .DV..
mb_type .DV.. macroblock (MB) type
qp .DV.. per-block quantization parameter (QP)
mv .DV.. motion vector
dct_coeff .DV..
skip .DV..
startcode .DV..
pts .DV..
er .DV.. error resilience
mmco .DV.. memory management control operations (H.264)
bugs .DV..
vis_qp .DV.. visualize quantization parameter (QP), lower QP are tinted greener
vis_mb_type .DV.. visualize block types
-vismv
pf .DV.. forward predicted MVs of P-frames
bf .DV.. forward predicted MVs of B-frames
bb .DV.. backward predicted MVs of B-frames
-mb_qmin
-mb_qmax
-cmp
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-subcmp
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-mbcmp
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-ildctcmp
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-dia_size
-last_pred
-preme
-precmp
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-pre_dia_size
-subq
-me_range
-ibias
-pbias
-coder
vlc E.V.. variable length coder / huffman coder
ac E.V.. arithmetic coder
raw E.V.. raw (no encoding)
rle E.V.. run-length coder
deflate E.V.. deflate-based coder
-context
-mbd
simple E.V.. use mbcmp (default)
bits E.V.. use fewest bits
rd E.V.. use best rate distortion
-sc_threshold
-lmin
-lmax
-nr
-rc_init_occupancy
-inter_threshold
-flags2
fast E.V.. allow non spec compliant speedup tricks
sgop E.V.. strictly enforce gop size
noout E.V.. skip bitstream encoding
local_header E.V.. place global headers at every keyframe instead of in extradata
bpyramid E.V.. allows B-frames to be used as references for predicting
wpred E.V.. weighted biprediction for b-frames (H.264)
mixed_refs E.V.. one reference per partition, as opposed to one reference per macroblock
dct8x8 E.V.. high profile 8x8 transform (H.264)
fastpskip E.V.. fast pskip (H.264)
aud E.V.. access unit delimiters (H.264)
brdo E.V.. b-frame rate-distortion optimization
skiprd E.V.. RD optimal MB level residual skipping
ivlc E.V.. intra vlc table
drop_frame_timecode E.V..
non_linear_q E.V.. use non linear quantizer
-error
-antialias
auto .DV..
fastint .DV..
int .DV..
float .DV..
-qns
-threads
-mb_threshold
-dc
-nssew
-skip_top
-skip_bottom
-profile
unknown E.VA.
-level
unknown E.VA.
-lowres
-skip_threshold
-skip_factor
-skip_exp
-skipcmp
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-border_mask
-mblmin
-mblmax
-mepc
-bidir_refine
-brd_scale
-crf
-cqp
-keyint_min
-refs
-chromaoffset
-bframebias
-trellis
-directpred
-complexityblur
-deblockalpha
-deblockbeta
-partitions
parti4x4 E.V..
parti8x8 E.V..
partp4x4 E.V..
partp8x8 E.V..
partb8x8 E.V..
-sc_factor
-mv0_threshold
-b_sensitivity
-compression_level
-use_lpc
-lpc_coeff_precision
-min_prediction_order
-max_prediction_order
-prediction_order_method
-min_partition_order
-max_partition_order
-timecode_frame_start
AVFormatContext AVOptions:
-probesize
-muxrate
-packetsize
-fflags
ignidx .D... ignore index
genpts .D... generate pts
-track
-year
-analyzeduration