[Libav-user] re-encoding and transcode (codec copy) on same file.
bowljoman
bowljoman at gmail.com
Thu Apr 13 08:26:24 EEST 2017
apologies again for top posting. first take the original critcal packets, either sudio or video, decode them to determine the ecoder settings you need to mimic. it would be specifying profile level and size for vid, and sample rate with channle layout for audio. apply them to the opening encoder contexts. of couse then, the processing frames are the right size and rates. if you need to change color space or down sample to mono for echo cancellation, you need to return to the original formats and then encode. your concern about changed sps and pps is specific to the continer. you appear to be targeting mp4, in which case closing the file after processing some segment should work for you. watch your timestamps so that they do not lose context when psssing through the processsing
Sent from my T-Mobile 4G LTE Device
-------- Original message --------From: YIRAN LI <mrfun.china at gmail.com> Date: 4/12/17 6:06 PM (GMT-08:00) To: "This list is about using libavcodec, libavformat, libavutil, libavdevice and libavfilter." <libav-user at ffmpeg.org> Subject: Re: [Libav-user] re-encoding and transcode (codec copy) on same file.
2017-04-12 0:55 GMT+10:00 Andy Shaules <bowljoman at gmail.com>:
On 4/10/2017 4:37 PM, YIRAN LI wrote:
2017-04-10 7:16 GMT+10:00 bowljoman <bowljoman at gmail.com>:
sorry if this client top posts, but to answer, you
can do 1 of 2 things. assume it is different and
insert it before returning to the unprocessed clip. or
you can check if they are different by doing a
comparison.
Thanks
for your suggestion. Let's say if original H.264 video
stream has AVCC bitstream, no matter you encode 1st part
with Annex-b or AVCC, as long as it's different from
orginal format, I won't be able to do codec copy using
readpacket/writepacket, right?
Thanks
Sent
from my T-Mobile 4G LTE Device
-------- Original message --------
From: YIRAN LI <mrfun.china at gmail.com>
Date: 4/7/17 3:15 PM (GMT-08:00)
To: "This list is about using libavcodec,
libavformat, libavutil, libavdevice and
libavfilter." <libav-user at ffmpeg.org>,
FFmpeg user questions <ffmpeg-user at ffmpeg.org>
Subject: [Libav-user] re-encoding and transcode
(codec copy) on same file.
Hi guys,
I'm
investigating if it's possible to do editing and
transcode on same file.
I mean use
-vcodec copy, we can readout packets and write
them directly into output file without
re-encoding. But if it's possible, for example if
I have a 2 mins video, re-encode 1st min because
there're some effects applied to that region but
copy 2nd part?
My concern
is, for example we know H.264 has extradata, if I
re-encode first part but keep 2nd part, how if new
extradata is different from old extradta?
Anyone have
suggestion on this? and any other possible
problems doing this?
Thanks
_______________________________________________
Libav-user mailing list
Libav-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
_______________________________________________
Libav-user mailing list
Libav-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
It doesnt matter what the inputs are. just convert them to one or
the other type. the final stream can be assembled with all avc or
avcc packets. choose one or the other.
Thanks for reply.
I did some research yesterday and I think no matter packets in the file is in starting code (annex-b) or size (avcc) mode, I can always detect and convert it to another mode.
The problem is, if I re-encode a part and keep another part, how can I guarantee the SPS/PPS values for 2 parts are same? If they are different, even if they are in packets (in-band) instead of in global header, is such a file standard compliant ?
Thanks
_______________________________________________
Libav-user mailing list
Libav-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20170412/b68a4ea0/attachment.html>
More information about the Libav-user
mailing list