Tamam, bu benim başımı tırmalamamı sağladı - özellikle bir komut dosyası kullanıcısı olduğum için ve * nix deneyimim en azını söylemek temeldir.
özet
Dolgu maddelerini bir ortam kapsayıcısından diğerine dönüştürmek için kullanılan kabuk komut dosyasının neden hata ve sorun ürettiğini tanımlamanız gerekir.
Senaryo
Bir arkadaş tarafından sağlanan bir kabuk betiği var. Betik, MKV video dosyalarını MP4'e (MPEG-4) dönüştürmek için Ubuntu 10.10 makinelerinde kullanılır. Söz konusu senaryo aşağıdaki gibidir (yorum yapmamayı bağışlayın):
#!/usr/bin/env bash
if [ -f $1 ] ; then
filename=$(basename $1)
extension=${filename##*.}
name=${filename%.*}
fname=$1
video=`mediainfo --Inform=Video\;%ID% "${fname}"`
audio=`mediainfo --Inform=Audio\;%ID% "${fname}"`
fps=`mediainfo --Inform=Video\;%FrameRate% "${fname}"`
`mkvextract tracks ${fname} 1:${name}.h264 2:${name}.ac3`
`a52dec ${name}.ac3 -o wavdolby > ${name}.wav`
`faac ${name}.wav -o ${name}.m4a`
`MP4Box -add ${name}.m4a -add ${name}.h264 -fps $fps ${name}.mp4`
`rm ${name}.m4a ${name}.ac3 ${name}.h264 ${name}.wav`
fi
Sorun
a52dec çalışırken hataları atla
İlk hata yalnızca seçilen MKV dosyalarında meydana gelir; burada ses dönüştürme işleminin bir parçası olarak a52dec'i çalıştırmaya gider.
Meydana gelen bir atlama hatası, konsol / terminal penceresinde tekrar tekrar görünmeye devam ediyor. A52dec işlemi beklenen dosya adını (dosyaadı.wav) oluşturdu, ancak bu atlama iletilerini oluşturmaya devam ediyor ve daha fazla ilerlemiyor (bir sorunun yarısında sadece sorunun geçip geçmeyeceğini görmek için bir saatte yarım saat kalmasına rağmen)
Birkaç farklı dosyadaki Mediainfo çıktısına bakıldığında, dosyanın 5.1 kanal ses içerdiği yerlerde işler sıkışmış gibi görünüyor. Elbette bu sorunun nasıl üstesinden geleceğime dair hiçbir fikrim yok.
IsoMedia: komutu bulunamadı
Bu, betiğin çalışmasını bitirdiğinde her zaman olur, bu n00b'ye göre, söz konusu uygulamayı bulamadığını gösterir.
Ancak, bu paketi bulamıyorum veya hangisinin daha büyük bir paketin parçası olacaksa bulamıyorum.
Daha da kafa karıştırıcı olan bu dosya, komut dosyası sırasında herhangi bir noktada çağrılmaz ve yalnızca temizlemek için rm komutunun çalıştırılmasından sonra çağrılır.
Fazladan bilgi
Sorunsuz kodlar bir MKV dosyası için Mediainfo çıktısı örneği
General
Unique ID : 233323168834975742075458986504469215458 (0xAF886862D1B0BB1B9427E04C90A1F8E2)
Complete name : \\192.168.2.5\video\sorted\CSI NY\CSI.New.York.S07E10.720p.HDTV.X264-DIMENSION.mkv
Format : Matroska
File size : 1.09 GiB
Duration : 41mn 30s
Overall bit rate : 3 768 Kbps
Encoded date : UTC 2010-12-03 20:40:51
Writing application : mkvmerge v3.1.0 ('Happy up here') built on Jan 19 2010 12:09:24
Writing library : libebml v0.7.9 + libmatroska v0.8.1
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 8 frames
Format settings, GOP : M=6, N=12
Codec ID : V_MPEG4/ISO/AVC
Duration : 41mn 30s
Bit rate : 3 381 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.153
Stream size : 982 MiB (88%)
Writing library : x264 core 110 r1804 e89c4cf
Encoding settings : cabac=1 / ref=8 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=5 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=3381 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Language : English
Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : A_AC3
Duration : 41mn 30s
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 114 MiB (10%)
A52dec sorunlarına neden olan bir MKV dosyası için Mediainfo çıktısı örneği
General
Unique ID : 173353892635048029459501626055714892286 (0x826ABECAAEC6D2638DD0EC376D6369FE)
Complete name : \\192.168.2.5\video\sorted\Conan\conan.2010.11.25.jim.parsons.720p.hdtv.x264-bff.mkv
Format : Matroska
File size : 1.09 GiB
Duration : 42mn 1s
Overall bit rate : 3 720 Kbps
Encoded date : UTC 2010-11-26 05:45:43
Writing application : mkvmerge v3.1.0 ('Happy up here') built on Jan 19 2010 12:09:24
Writing library : libebml v0.7.9 + libmatroska v0.8.1
Video
ID : 2
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 42mn 1s
Bit rate : 3 272 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.118
Stream size : 961 MiB (86%)
Writing library : x264 core 85 r1442tw
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=30 / sliced_threads=0 / nr=0 / decimate=1 / mbaff=0 / constrained_intra=0 / bframes=6 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=1 / wpredp=0 / keyint=240 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=3272 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Language : English
Audio
ID : 1
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : A_AC3
Duration : 42mn 1s
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 135 MiB (12%)