Projects
Multimedia
h264enc
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 377
View file
h264enc.spec
Changed
@@ -1,7 +1,7 @@ # norootforbuild Name: h264enc -Version: 10.3.1 +Version: 10.3.2 Release: 1 License: GPL-2.0+ @@ -58,6 +58,19 @@ %changelog +* Thu Oct 02 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.3.2 + * Add the $cache var to a few more places in the audio code + * Reorder the audio codec conditionals in the case statements for + better readability + * When using external audio encoders, we currently only check if the + encoder has produced a file. Make it a bit more reliable and check + if the audio file is at least 20 KiB in size as most encoders that + output a file but error out, produce files less than 20 KiB. + A more reliable method would be to check the return code of the + background encoder process itself with $! to get its PID and using + wait $PID; RET=$? to capture the signal, but this will result + in a hacky way of doing it. I do not rule it out for the future + * Tue Sep 30 2014 Grozdan Nikolov <neutrino8@gmail.com> 10.3.1 * Fix a syntax error in the ratio_and_pixels_func() due to missing var
View file
h264enc-10.3.1.tar.gz/doc/ChangeLog -> h264enc-10.3.2.tar.gz/doc/ChangeLog
Changed
@@ -1,3 +1,16 @@ +2014-10-02 - h264enc 10.3.2 + * Add the $cache var to a few more places in the audio code + * Reorder the audio codec conditionals in the case statements for + better readability + * When using external audio encoders, we currently only check if the + encoder has produced a file. Make it a bit more reliable and check + if the audio file is at least 20 KiB in size as most encoders that + output a file but error out, produce files less than 20 KiB. + A more reliable method would be to check the return code of the + background encoder process itself with $! to get its PID and using + wait $PID; RET=$? to capture the signal, but this will result + in a hacky way of doing it. I do not rule it out for the future + 2014-09-30 - h264enc 10.3.1 * Fix a syntax error in the ratio_and_pixels_func() due to missing var
View file
h264enc-10.3.1.tar.gz/h264enc -> h264enc-10.3.2.tar.gz/h264enc
Changed
@@ -1,5 +1,5 @@ #!/usr/bin/env bash -# $Id: h264enc, v 10.3.1, 2014/09/30, gn Exp $ +# $Id: h264enc, v 10.3.2, 2014/10/02, gn Exp $ # # Encode BDs/DVDs/VCDs/video files to the H.264/AVC/MPEG-4 Part 10 # video format using MEncoder from MPlayer @@ -23,7 +23,7 @@ shopt -u expand_aliases export PATH=$PATH:/usr/local/bin -version=10.3.1 +version=10.3.2 configversion=33 green() { echo -e "\e[1;32m$1\e[0;39;49m"; } @@ -5712,8 +5712,8 @@ else if [ ! -z "$(echo ${ab[$i]} | grep '\.')" ]; then echo - green "-> Track $i: Floating point values are not supported yet!" - green "-> Track $i: Rounding value to $(echo ${ab[$i]} | awk -F. '{print $1}')" + error "-> Track $i: Floating point values are not supported yet!" + error "-> Track $i: Rounding value to $(echo ${ab[$i]} | awk -F. '{print $1}')" echo vorbq[$i]="-q $(echo ${ab[$i]} | awk -F. '{print $1}')" else @@ -7472,7 +7472,7 @@ lavcac3) audext[$i]="ac3" ;; aac|"") audext[$i]="aac" ;; esac - MENC[$i]="$MENCODER \"$sourcetype\" $device $chapters $demuxer ${aid[$i]} ${channels[$i]} $fps $ofps ${acodec[$i]} ${audiofilters[$i]} $vidfilteropts $vidcodecopts -of rawaudio -o \"$TEMPDIR/audio$i.${audext[$i]}\"" + MENC[$i]="$MENCODER \"$sourcetype\" $device $chapters $demuxer $cache ${aid[$i]} ${channels[$i]} $fps $ofps ${acodec[$i]} ${audiofilters[$i]} $vidfilteropts $vidcodecopts -of rawaudio -o \"$TEMPDIR/audio$i.${audext[$i]}\"" ;; ff*) # Stream copy so we just dump the audio @@ -7491,15 +7491,15 @@ esac case "${audiocodec[$i]}" in fftruehd) - MENC[$i]="$MPLAYER \"$sourcetype\" $MPLAYEROPTS $device $demuxer ${aid[$i]} -vo null -vc dummy -dumpaudio -dumpfile \"$TEMPDIR/audio$i.${audext[$i]}\"" + MENC[$i]="$MPLAYER \"$sourcetype\" $MPLAYEROPTS $device $demuxer $cache ${aid[$i]} -vo null -vc dummy -dumpaudio -dumpfile \"$TEMPDIR/audio$i.${audext[$i]}\"" ;; *) - MENC[$i]="$MENCODER \"$sourcetype\" $device $chapters $demuxer ${aid[$i]} $fps $ofps $vidcodecopts $vidfilteropts ${audformat[$i]} -oac copy -mc 0 -noskip -msglevel demuxer=-1 -of rawaudio -o \"$TEMPDIR/audio$i.${audext[$i]}\"" + MENC[$i]="$MENCODER \"$sourcetype\" $device $chapters $demuxer $cache ${aid[$i]} $fps $ofps $vidcodecopts $vidfilteropts ${audformat[$i]} -oac copy -mc 0 -noskip -msglevel demuxer=-1 -of rawaudio -o \"$TEMPDIR/audio$i.${audext[$i]}\"" ;; esac ;; aac+|neroaac|fdkaac|aftenac3|vorbis|opus|flac|dts|pcm) - MENC[$i]="$MENCODER \"$sourcetype\" $device $chapters $demuxer ${aid[$i]} ${channels[$i]} $fps $ofps $vidcodecopts $vidfilteropts -oac pcm -o \"$TEMPDIR/audio$i.avi\"" + MENC[$i]="$MENCODER \"$sourcetype\" $device $chapters $demuxer $cache ${aid[$i]} ${channels[$i]} $fps $ofps $vidcodecopts $vidfilteropts -oac pcm -o \"$TEMPDIR/audio$i.avi\"" ;; eac3) if [ "$i" = "1" ]; then @@ -7509,7 +7509,7 @@ MENCINPUT="$sourcetype" mencfilters="$fps $ofps $vidcodecopts $vidfilteropts" fi - MENC[$i]="$MENCODER \"$MENCINPUT\" $device $chapters $demuxer ${aid[$i]} ${channels[$i]} $mencfilters ${audflt[$i]} -oac lavc -lavcopts acodec=eac3:abitrate=${abitrate[$i]} -mc 0 -noskip -of rawaudio -o \"$TEMPDIR/audio$i.eac3\"" + MENC[$i]="$MENCODER \"$MENCINPUT\" $device $chapters $demuxer $cache ${aid[$i]} ${channels[$i]} $mencfilters ${audflt[$i]} -oac lavc -lavcopts acodec=eac3:abitrate=${abitrate[$i]} -mc 0 -noskip -of rawaudio -o \"$TEMPDIR/audio$i.eac3\"" ;; esac @@ -7613,7 +7613,7 @@ # from AVI to Matroska container. if [ "$ALLOW_MKV_MUXING" = "y" ]; then case "${audiocodec[1]}" in - mp3|ffmp3|aac|aac+|neroaac|fdkaac|ffaac|vorbis|ffvorbis|ffopus|opus|aftenac3|lavcac3|eac3|dts|ffac3|ffeac3|fftruehd|ffdts|pcm|ffpcm|flac|ffflac|nosound|"") + ff*|mp3|aac|aac+|neroaac|fdkaac|vorbis|opus|aftenac3|lavcac3|eac3|dts|pcm|flac|nosound|"") avi_mkv=$(get_selection_func "Would you like to convert the final encode from AVI to MKV? [y/N]: ") if [ "$avi_mkv" = "y" ]; then # Check for mkvmerge @@ -8060,7 +8060,7 @@ # Ask for AVI -> MP4 conversion if [ "$ALLOW_MP4_MUXING" = "y" ]; then case "${audiocodec[1]}" in - mp3|ffmp3|aac|aac+|neroaac|fdkaac|ffaac|aftenac3|lavcac3|ffac3|vorbis|ffvorbis|nosound|"") + ffmp3|ffaac|ffac3|ffvorbis|mp3|aac|aac+|neroaac|fdkaac|aftenac3|lavcac3|vorbis|nosound|"") avi_mp4=$(get_selection_func "Would you like to convert the final encode from AVI to MP4? [y/N]: ") if [ "$avi_mp4" = "y" ]; then if [ ! -x "$MP4BOX" ]; then @@ -8227,6 +8227,15 @@ AUDIOINPUT="-add \"$TEMPDIR/aac.aac\"#audio:name=\"AAC ${chaninfo[1]}\"${MP4AUDLANG[1]}" RMMP4AUD="rm -f \"$TEMPDIR/aac.aac\"" ;; + ffac3) + MP4AUD="$MP4BOX -aviraw audio \"$OUTPUT\" -out \"$TEMPDIR/ac3.ac3\"" + AUDIOINPUT="-add \"$TEMPDIR/ac3.ac3\"#audio:name=\"AC-3 ${chaninfo[1]}\"${MP4AUDLANG[1]}" + RMMP4AUD="rm -f \"$TEMPDIR/ac3.ac3\"" + ;; + ffvorbis) + MP4AUD="$MP4BOX -aviraw audio \"$OUTPUT\" -out \"$TEMPDIR/vorbis.ogg\"" + AUDIOINPUT="-add \"$TEMPDIR/vorbis.ogg\"#audio:name=\"Vorbis ${chaninfo[1]}\"${MP4AUDLANG[1]}" + ;; aac+) AUDIOINPUT="-add \"$TEMPDIR/audio1.aac\"#audio:sbr:name=\"HE-AACv1 Stereo\"${MP4AUDLANG[1]}" RMMP4AUD="rm -f \"$TEMPDIR/audio1.aac\"" @@ -8252,15 +8261,6 @@ AUDIOINPUT="-add \"$TEMPDIR/ac3.ac3\"#audio:name=\"AC-3 ${chaninfo[1]}\"${MP4AUDLANG[1]}" RMMP4AUD="rm -f \"$TEMPDIR/ac3.ac3\"" ;; - ffac3) - MP4AUD="$MP4BOX -aviraw audio \"$OUTPUT\" -out \"$TEMPDIR/ac3.ac3\"" - AUDIOINPUT="-add \"$TEMPDIR/ac3.ac3\"#audio:name=\"AC-3 ${chaninfo[1]}\"${MP4AUDLANG[1]}" - RMMP4AUD="rm -f \"$TEMPDIR/ac3.ac3\"" - ;; - ffvorbis) - MP4AUD="$MP4BOX -aviraw audio \"$OUTPUT\" -out \"$TEMPDIR/vorbis.ogg\"" - AUDIOINPUT="-add \"$TEMPDIR/vorbis.ogg\"#audio:name=\"Vorbis ${chaninfo[1]}\"${MP4AUDLANG[1]}" - ;; vorbis) AUDIOINPUT="-add \"$TEMPDIR/audio1.ogg\"#audio:name=\"Vorbis ${chaninfo[1]}\"${MP4AUDLANG[1]}" ;; @@ -8372,7 +8372,7 @@ # AVI -> TS/Blu-ray if [ "$ALLOW_TS_MUXING" = "y" ]; then case "${audiocodec[1]}" in - aac|mp3|ffmp3|aftenac3|lavcac3|eac3|ffac3|ffeac3|dts|ffdts|neroaac|fdkaac|nosound|"") + ffmp3|ffac3|ffeac3|ffdts|mp3|aac|neroaac|fdkaac|aftenac3|lavcac3|eac3|dts|nosound|"") case "$3" in bd40|bdhq40|bd41|bdhq41) TSTYPE="Blu-ray" ;; avchd|avchdhq) TSTYPE="AVCHD" ;; @@ -8426,6 +8426,12 @@ esac case "${audiocodec[1]}" in + ffac3|ffeac3) + METAAUD[1]="echo \"A_AC3, \\\"$TEMPDIR/audiots.raw\\\"${TSAUDLANG[1]}\" >> \"$TEMPDIR/tsmuxer.meta\"" + ;; + ffdts) + METAAUD[1]="echo \"A_DTS, \\\"$TEMPDIR/audiots.raw\\\"${TSAUDLANG[1]}\" >> \"$TEMPDIR/tsmuxer.meta\"" + ;; neroaac|fdkaac) case "${AACTYPE[1]}" in LC-AAC) @@ -8448,21 +8454,24 @@ eac3) METAAUD[1]="echo \"A_AC3, \\\"$TEMPDIR/audio1.eac3\\\"${TSAUDLANG[1]}\" >> \"$TEMPDIR/tsmuxer.meta\"" ;; - ffac3|ffeac3) - METAAUD[1]="echo \"A_AC3, \\\"$TEMPDIR/audiots.raw\\\"${TSAUDLANG[1]}\" >> \"$TEMPDIR/tsmuxer.meta\"" - ;; dts) METAAUD[1]="echo \"A_DTS, \\\"$TEMPDIR/audio1.dts\\\"${TSAUDLANG[1]}\" >> \"$TEMPDIR/tsmuxer.meta\"" ;; - ffdts) - METAAUD[1]="echo \"A_DTS, \\\"$TEMPDIR/audiots.raw\\\"${TSAUDLANG[1]}\" >> \"$TEMPDIR/tsmuxer.meta\"" - ;; esac # Second, third, etc audio tracks for i in $(seq 2 $MAX_AMOUNT_AUD_TRACKS); do if [ "${TRACKID[$i]}" = "yes" ]; then case "${audiocodec[$i]}" in + ffac3|ffeac3) + METAAUD[$i]="echo \"A_AC3, \\\"$TEMPDIR/audio$i.raw\\\"${TSAUDLANG[$i]}\" >> \"$TEMPDIR/tsmuxer.meta\"" + ;; + ffdts) + METAAUD[$i]="echo \"A_DTS, \\\"$TEMPDIR/audio$i.raw\\\"${TSAUDLANG[$i]}\" >> \"$TEMPDIR/tsmuxer.meta\"" + ;; + ffmp3) + METAAUD[$i]="echo \"A_MP3, \\\"$TEMPDIR/audio$i.raw\\\"${TSAUDLANG[$i]}\" >> \"$TEMPDIR/tsmuxer.meta\"" + ;; aac|"") METAAUD[$i]="echo \"A_AAC, \\\"$TEMPDIR/audio$i.aac\\\"${TSAUDLANG[$i]}\" >> \"$TEMPDIR/tsmuxer.meta\"" ;; @@ -8478,12 +8487,6 @@ dts) METAAUD[$i]="echo \"A_DTS, \\\"$TEMPDIR/audio$i.dts\\\"${TSAUDLANG[$i]}\" >> \"$TEMPDIR/tsmuxer.meta\"" ;; - ffac3|ffeac3) - METAAUD[$i]="echo \"A_AC3, \\\"$TEMPDIR/audio$i.raw\\\"${TSAUDLANG[$i]}\" >> \"$TEMPDIR/tsmuxer.meta\"" - ;; - ffdts) - METAAUD[$i]="echo \"A_DTS, \\\"$TEMPDIR/audio$i.raw\\\"${TSAUDLANG[$i]}\" >> \"$TEMPDIR/tsmuxer.meta\"" - ;; neroaac|fdkaac) case "${AACTYPE[$i]}" in LC-AAC) @@ -8491,9 +8494,6 @@ ;; esac ;; - ffmp3) - METAAUD[$i]="echo \"A_MP3, \\\"$TEMPDIR/audio$i.raw\\\"${TSAUDLANG[$i]}\" >> \"$TEMPDIR/tsmuxer.meta\"" - ;; esac fi done @@ -8571,7 +8571,7 @@ # directly from the AVI file if [ "$ALLOW_OGM_MUXING" = "y" ]; then case "${audiocodec[1]}" in - mp3|ffmp3|vorbis|ffvorbis|aftenac3|lavcac3|ffac3|pcm|ffpcm|nosound) + ffmp3|ffvorbis|ffac3|ffpcm|mp3|vorbis|aftenac3|lavcac3|pcm|nosound) avi_ogm=$(get_selection_func "Would you like to convert the final encode from AVI to OGM? [y/N]: ") if [ "$avi_ogm" = "y" ]; then # Check for ogmmerge @@ -9019,7 +9019,7 @@ ;; esac source "${AUDIOENC[$i]}" >/dev/null 2>&1 - if [ -e "${audfile[$i]}" ]; then + if [ -e "${audfile[$i]}" -a "$(stat -c %s "${audfile[$i]}")" -ge "20480" ]; then green "-> Track $i: Done" else error "-> Track $i: Failed"
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.