Sponsored Content
Top Forums Shell Programming and Scripting Script to reencode all files in a directory Post 303040332 by colt on Saturday 26th of October 2019 05:49:16 PM
Old 10-26-2019
Script to reencode all files in a directory

Hello. I usually reencode many video files with this ffmpeg command or similar

Code:
ffmpeg -y -i -c:a copy -vf scale=720:-2 -c:v mpeg4 -vtag xvid -b:v 969k -r 25 -pass 1 -an -f avi /dev/null && ffmpeg -i  -c:a libmp3lame -b:a 48k -ac 1 -vf scale=720:-2,subtitles=1.srt:force_style='Fontsize=20' -c:v mpeg4 -vtag xvid -b:v 969k -r 25 -pass 2 /.avi

So I would like to insert the parameters of this ffmpeg command on a script that reencodes all the videos on a certain directory. I tried to adapt a script that I found for it

Code:
for f in $(find -type f -name *.mkv); do ffmpeg -n -y -i "$f.mkv" -vf scale=720:-2 -c:v mpeg4 -vtag xvid -b:v 969k -r 25 -pass 1 -an -f avi /dev/null && ffmpeg -n -i "$f" -c:a libmp3lame -b:a 48k -ac 1 -vf scale=720:-2,subtitles="$f.srt":force_style='Fontsize=20' -c:v mpeg4 -vtag xvid -b:v 969k -r 25 -pass 2  ".$f.avi" ; done

However, when I try to run this script. it says that cannot find such file or directory. This happens because its treating every word separated by a blank space of the file's name as a file on its own.

So how can I solve this question. Also warns about any possible errors that might arise are welcome. Thank you
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Go Thru Files in a directory:Script

Hi, I am new to unix scripting and I need to write a script that accepts a directory name as an argument, and inside the script to go through all the ".dat" files in that directory. For each ".dat" file in the directory, create a control file(.ctl) file containing the associated ".dat" file name... (0 Replies)
Discussion started by: Axis99
0 Replies

2. Shell Programming and Scripting

script to count files in a directory

Hello, I was wondering if anyone had an answer for this? thanks, KW (3 Replies)
Discussion started by: kwa71
3 Replies

3. Shell Programming and Scripting

How to execute script on files in another directory?

Hi Guys, Is there any way I can execute my bash script on files in a different folder than what the script is in? Here is an excerpt of my script: #!/usr/bin/bash input_path="/cygdrive/c/files" output_path="/cygdrive/c/files/data" #script uses files from /cygdrive/c/files directory,... (1 Reply)
Discussion started by: npatwardhan
1 Replies

4. UNIX for Dummies Questions & Answers

Reading files in script from another directory

Hi I'm trying to call my files from different directories in my script. Can you please help me. Here is my script: #!/bin/bash #---------------------------------------------------------------------------------------------------------------------- #This script allows the user... (1 Reply)
Discussion started by: ladyAnne
1 Replies

5. Shell Programming and Scripting

Script which removes files from the first directory if there is a file in the second directory

Script must removes files from the first directory if there is a file with same name in the second directory Script passed to the two directories, it lies with them in one directory: sh script_name dir1 dir2 This is my version, but it does not work :wall: set - $2/* for i do set -... (6 Replies)
Discussion started by: SLAMUL
6 Replies

6. Shell Programming and Scripting

How to check whether directory has files in it or not in shell script?

hi, I am having script in which i want to check if directory has any file in it or not. If directory contains a single or more files then and only then it should proceed to further operations... P.S.: Directory might have thousand number of files. so there might be chance of getting error... (4 Replies)
Discussion started by: VSom007
4 Replies

7. UNIX for Dummies Questions & Answers

Script to remove zip files from a directory

Hi Folks, There is a job which generates a .zip files every day at /usr/app/generated directory , now please advise for the script that will delete this zip files permanently.but while deleting it should make sure that it will not delete the last two days recently generated zip files and this... (1 Reply)
Discussion started by: punpun66
1 Replies

8. Shell Programming and Scripting

Moving Files one directory to another directory shell script

Hi, Could you please assist how to move the gz files which are older than the 90 days from one folder to another folder ,before that it need to check the file system named "nfs" if size is less than 90 or not. If size is above 90 then it shouldn't perform file move and exit the script throwing... (4 Replies)
Discussion started by: venkat918
4 Replies

9. Shell Programming and Scripting

Script to keep checking the directory for files.

Hello Folks, Looking for a script which can keep doing ls to the directories and once file landed to the directory then ,read the files do further calculation and exit. Kindly guide. Regards, Sadique (3 Replies)
Discussion started by: sadique.manzar
3 Replies
aviindex(1)						      General Commands Manual						       aviindex(1)

NAME
aviindex - Write and read text files describing the index of an AVI file SYNOPSIS
aviindex [ -o ofile -i ifile -f -n -x -v -h ] COPYRIGHT
aviindex is Copyright (C) 2003,2004 by Tilmann Bitterberg DESCRIPTION
aviindex writes a text file describing the index of an AVI file. It analyses the content or index if available of the AVI file and prints this information in a human readable form. An AVI file can have an optional chunk called "idx1" which contains information about keyframes (syncpoints) and locations of video frames resp. audio chunks. Though larger AVI files (>2-4GB), so-called OpenDML AVI or also AVI 2 files, have a more complicated indexing system, which consists of a superindex referring to (possibly) several "standard" indexes, the "indexing principle" is the same. Movie players use such indexes to seek in files. aviindex reads the AVI file ifile and writes the index into ofile. This can either happen in "dumb" mode where aviindex looks for an exist- ing index (and trusts this index!) in the file and dumps this index into a human readable form. The "dumb" mode is used, when -n is NOT specified or when the filesize of the input file is smaller than 2 GB. In "smart" mode, aviindex scans through the complete AVI file and searches for chunks (may that video or audio) and reconstructs the index based on the information found. If an index chunk is found accidently, aviindex will use the information in this index to recover the keyframe information, which is important. aviindex will use smart mode, if given the -n option OR if the AVI file is larger than 2 GB. If the file is large, the index chunk cannot be found the usual way so one must use -n but it is possible that there is an index chunk in this file. Cross fingers. Also in smart mode, aviindex analyzes the content of the video frame and tries to detect keyframes by looking at the data depending on the video codec. The generated index file serves different purposes. * The library which handles AVI files in transcode(1) can read such index files and use this file to rebuild the index instead of scanning through the whole AVI file over and over again. Reading the index from the index file is much faster than scan- ning through the AVI. * It can be used as a seeking file. When given to transcode via the --nav_seek switch, transcode will use the file to seek directly to the position you specified via -c. This also works for multiple -c ranges. * Its nice to have for debugging. OPTIONS
-o ofile Specify the name of the output file. -i ifile Specify the name of the input file. -f force the use of the existing index. -n force generating the index by scanning the file. -x (implies -n) don't use any existing index to generate keyframes. -v show version. -h show help text. MPLAYER
aviindex can convert from and to mplayer-generated index files. Since mplayer-1.0pre3 mplayer has the ability to save the index via -saveidx FILE and load it again through -loadidx FILE. aviindex is able to convert an mplayer index file to a transcode index file and vice visa. It is not able to directly write an mplayer file, though. Example of a toolchain mplayer -frames 0 -saveidx mpidx broken.avi aviindex -i mpidx -o tcindex avimerge -x tcindex -i broken.avi -o fixed.avi Or the other way round aviindex -i broken.avi -n -o broken.idx aviindex -i broken.idx -o mpidx mplayer -loadidx mpidx broken.avi The major differences between the two index file formats is that the mplayer one is a binary format which is an exact copy of an index in the AVI file. aviindex 's format is text based. See FORMAT for details. EXAMPLES
The command aviindex -i 3GBfile.avi -o 3GB.index generates and index of the large file 3GBfile.avi. You can use the file 3GB.index to tell transcode to read the index from this file and not from the avi. This leads to much faster startup time. Suppose 3GBfile.avi has DivX video and PCM sound and you want to encode several ranges. transcode -V -i 3GBfile.avi --nav_seek 3GB.index -x xvid,avi -c 5000-6000,0:20:00-0:21:00,100000-100001 -y xvid --lame_preset standard -o out.avi FORMAT
The format of the index file. The first 7 bytes in this file are "AVIIDX1" for easy detection and a comment of who created the file. The second line is a comment and describes the fields. Do not delete it. Each line (except the first 2) consists of exactly 8 fields all seper- ated by one space and describing one particular chunk of the AVI file. Here is an example of an AVI file with two audio tracks. AVIIDX1 # Generated by aviindex (transcode-0.6.8) TAG TYPE CHUNK CHUNK/TYPE POS LEN KEY MS 00db 1 0 0 2048 8335 1 0.00 01wb 2 1 0 10392 847 1 0.00 01wb 2 2 1 11248 847 1 0.00 02wb 3 3 0 12104 847 1 0.00 02wb 3 4 1 12960 847 1 0.00 00db 1 5 1 13816 5263 0 0.00 00db 1 6 2 19088 3435 0 0.00 01wb 2 7 2 22532 834 1 0.00 The field TAG is the chunk descriptor. Its "00d*" for the video, "01wb" for the first audio track, "02wb" for the second audio track and so on. The field TYPE is the type of the chunk. This is redundant because the type is also embedded into the TAG field but its a convenient thing to have. Its 1 for video, 2 for first audio track and 3 for second audio track. The field CHUNK is the absolute chunk number in the AVI file. If you read the CHUNK field in the last line of the index file, you know how many chunks this AVI file has. The field CHUNK/TYPE holds information about how many chunks of this type were previously found in the AVI file. The field POS is the absolute byte position in the AVI file where this chunk can be found. Note this field can hold really large numbers if you are dealing with large AVIs. The field LEN is the length of this chunk. The field KEY holds information if this chunk is a keyframe. In the example above, all audio chunks are key-chunks, but only the first video frame is a key frame. This field is either 0 or 1. The field MS holds information about how many milliseconds have passed. This field may be 0.00 if unknown. AUTHORS
aviindex was written by Tilmann Bitterberg <transcode at tibit.org> and is part of transcode. SEE ALSO
avifix(1), avisync(1), avimerge(1), avisplit(1), tccat(1), tcdecode(1), tcdemux(1), tcextract(1), tcprobe(1), tcscan(1), transcode(1), mplayer(1) aviindex(1) 29th February 2004 aviindex(1)
All times are GMT -4. The time now is 09:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy