i am trying to convert a file mov (apple prores) to mp4 following this command found in the forum is correct?
gst-launch-1.0 filesrc location=filename.mov !
qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec !
omxh264enc ! ‘video/x-h264, stream-format=(string)byte-stream’ !
h264parse ! qtmux ! filesink location=filename.mp4 -e
mdegans
February 17, 2020, 7:35pm
2
You can probably omit at least the decoder and encoder. You don’t need to re-encode if you’re just changing containers. It will just hurt quality and waste system resources. Just demux and remux. Please see the Gstreamer tutorials and the qtmux documentation.
mdegans
February 17, 2020, 7:44pm
3
Since you’re not doing any work that needs the GPU, you might also use ffmpeg for this:
https://stackoverflow.com/a/12026739
That’s the same as what you ideally want to do in gstreamer (just copy the video without re-encode). It’s fast and lossless.
DaneLLL
February 18, 2020, 4:39am
4
Hi,
Please try mdegans’ suggestion. It is not required to re-encoding the h264 stream.
Thanks, I have tried to install ffmpeg but every time install hw acceleration does not go well.
this is the guide:
but every time I follow the instruction on the cmke command …
I get this out and it won’t go on
The C compiler identification is GNU 7.4.0
The CXX compiler identification is GNU 7.4.0
Check for working C compiler: / usr / bin / cc
Check for working C compiler: / usr / bin / cc - works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Detecting C compile features
Detecting C compile features - done
Check for working CXX compiler: / usr / bin / c ++
Check for working CXX compiler: / usr / bin / c ++ - works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
Looking for pthread.h
Looking for pthread.h - found
Looking for pthread_create
Looking for pthread_create - not found
Looking for pthread_create in pthreads
Looking for pthread_create in pthreads - not found
Looking for pthread_create in pthread
Looking for pthread_create in pthread - found
is there anyone who could help me, maybe by sending me the working image of the jetson nano with ffmpeg?
Thank you and good day
DaneLLL
February 18, 2020, 12:14pm
6
Hi,
You do not need hardware acceleration for mov to mp4 conversion. Actually mov and mp4 are almost the same. Apple Inc defines mov by referring to mp4 spec. You can simply do ‘mv filename.mov filename.mp4’
jocover
February 18, 2020, 12:50pm
7
Thanks, I have tried to install ffmpeg but every time install hw acceleration does not go well.
this is the guide:
GitHub - jocover/jetson-ffmpeg: ffmpeg support on jetson nano
but every time I follow the instruction on the cmke command …
I get this out and it won’t go on
The C compiler identification is GNU 7.4.0
The CXX compiler identification is GNU 7.4.0
Check for working C compiler: / usr / bin / cc
Check for working C compiler: / usr / bin / cc - works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Detecting C compile features
Detecting C compile features - done
Check for working CXX compiler: / usr / bin / c ++
Check for working CXX compiler: / usr / bin / c ++ - works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
Looking for pthread.h
Looking for pthread.h - found
Looking for pthread_create
Looking for pthread_create - not found
Looking for pthread_create in pthreads
Looking for pthread_create in pthreads - not found
Looking for pthread_create in pthread
Looking for pthread_create in pthread - found
is there anyone who could help me, maybe by sending me the working image of the jetson nano with ffmpeg?
Thank you and good day
on jetpack 4.3
replace https://gist.github.com/jocover/7a60c1006e546ed821d4e609d80df765/raw/b5846cd5638832c75d9f7a682ec371c50d5c0192/CMakeLists.txt to jetson-ffmpeg/CMakeLists.txt file
after pasting the contents of the cmakelists.txt file and doing cmake …
it still gives me this error
The C compiler identification is GNU 7.4.0
The CXX compiler identification is GNU 7.4.0
Check for working C compiler: / usr / bin / cc
Check for working C compiler: / usr / bin / cc - works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Detecting C compile features
Detecting C compile features - done
Check for working CXX compiler: / usr / bin / c ++
Check for working CXX compiler: / usr / bin / c ++ - works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Detecting CXX compile features
Detecting CXX compile features - done
Looking for pthread.h
Looking for pthread.h - found
Performing Test CMAKE_HAVE_LIBC_PTHREAD
Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
Looking for pthread_create in pthreads
Looking for pthread_create in pthreads - not found
Looking for pthread_create in pthread
Looking for pthread_create in pthread - found
Found Threads: TRUE
Configuring done
Generating done
Build files have been written to: / home / vtr / jetson-ffmpeg / build
mdegans
February 18, 2020, 2:13pm
9
sudo apt install ffmpeg
ffmpeg -i movie.mov -vcodec copy -acodec copy out.mp4
You do not need a version with hardware acceleration because it’s just copying encoded data. This operation can’t be any further accelerated. It’s already as fast as it can go. As DaneLLL mentions, you can probably also just rename the file to have the .mp4 extension.
thanks i am trying with ffmpeg with this string ffmpeg -i input.mov -q: v 0 output.mp4 and with a prores 422 file it goes to 3fps how can i speed up?
mdegans
February 18, 2020, 5:18pm
11
If you actually need to re-encode you will likely need to use gstreamer. You can use qtdemux to demux the video and avdec_prores to decode.
https://gstreamer.freedesktop.org/documentation/libav/avdec_prores.html
After the demuxer and decoder, you need a conversion element and an encoder of choice (some at the same link) a muxer (qtmux), and a filesink.
So something like:
qtdemux ! avdec_prores ! nvvidconv ! nvv4l2h265enc ! qtmux ! filesink
There are probably some caps in there and/or other things I am forgetting. DaneLLL may have a better example. That should allow the process to go a lot quicker.
DaneLLL
February 19, 2020, 1:27am
13
Hi,
For h264->h265 trascoding, please try
$ gst-launch-1.0 filesrc location= a.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nvv4l2h265enc ! h265parse ! qtmux ! filesink location= b.mp4
i have mov apple proress 422 to mp4.
How can I write the command?
Hi,
YUV422 is not supported by hardware decoder. You may try software decoder such as avdec_h264 .