2

I have a number of different video files (mov, avi, flv, mp4, 3gp, wmv) in a folder.

I need to use a batch file that will convert all mov, avi, wmv, 3gp files in the folder Also I need to skip any flv, mp4 files

I have this command, but it gives error and generates 0 size files:

for %%F in (*.mov) do ffmpeg.exe -i "%%~fF" -vcodec copy -acodec copy "%%~dpF\%%~nF.mp4" 

The above line just tries to process mov files. I get same result for avi files.

I want to keep the file name same. I get the file names correctly but it gives error:

 ffmpeg version N-54691-g7f4a1fd Copyright (c) 2000-2013 the FFmpeg developers built on Jul 12 2013 16:31:48 with gcc 4.7.3 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo- amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs -- enable-libxvid --enable-zlib libavutil 52. 39.100 / 52. 39.100 libavcodec 55. 18.102 / 55. 18.102 libavformat 55. 12.102 / 55. 12.102 libavdevice 55. 3.100 / 55. 3.100 libavfilter 3. 80.101 / 3. 80.101 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Guessed Channel Layout for Input Stream #0.1 : mono Input #0, avi, from 'C:\musa\Challenge\FFMPEG\Test\file5.AVI': Metadata: encoder : OPTURA20 Duration: 00:00:10.01, start: 0.000000, bitrate: 1518 kb/s Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 320x240, 14.99 fps, 14.99 tbr, 14.99 tbn, 14.99 tbc Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s [mp4 @ 00000000024bc980] Tag [1][0][0][0]/0x00000001 incompatible with output co dec id '65536' ([0][0][0][0]) Output #0, mp4, to 'C:\musa\Challenge\FFMPEG\Test\\file5.mp4': Metadata: encoder : OPTURA20 Stream #0:0: Video: mjpeg (l[0][0][0] / 0x006C), yuvj422p, 320x240, q=2-31, 14.99 fps, 90k tbn, 14.99 tbc Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, 256 k b/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Could not write header for output file #0 (incorrect codec parameters ?): Invali d data found when processing input 

2 Answers 2

4

PCM audio streams are not compatible with the MP4 container, look at the specs and your error message:

Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s [mp4 @ 00000000024bc980] Tag [1][0][0][0]/0x00000001 incompatible with output codec id '65536' ([0][0][0][0]) 

Please note: the MP4 video container format and the H.264 video stream format are two different things. The MP4 video container may also 'contain' other video stream formats, eg. Xvid or even MJPEG.

Sign up to request clarification or add additional context in comments.

Comments

1

The video stream is MJPEG, if you really want MP4/H264 on the output, you should replace the

 -vcodec copy 

by the -vcodec option to transcode your input video content

or add more complex stuff to detect when you can bypass the video stream and when a transcode is require.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.